Während der Wiederherstellung: "EXCEPTION: Sie versuchen, eine neuere Version des Schemas wiederherzustellen. Sie sollten zuerst migrieren!"

Ich habe kürzlich einen Discourse-Server eingerichtet, nachdem ich einige Zeit mit einer Testversion (trydiscourse.com) verbracht hatte. Als ich ihn einrichtete, lud ich ein Backup der Daten von unserem Test von trydiscourse.com herunter und konnte diese Daten auf unserem selbst gehosteten Discourse wiederherstellen.

Etwa eine Woche später, als die Testphase endete, lud ich ein weiteres Backup von trydiscourse.com herunter und versuchte, es wiederherzustellen. Dieses Mal schlug die Wiederherstellung fehl. Hier sind die Protokolle:

[2022-03-05 01:31:08] [STARTED]

[2022-03-05 01:31:08] 'Joaquin' hat die Wiederherstellung gestartet!

[2022-03-05 01:31:08] Markiere Wiederherstellung als laufend...

[2022-03-05 01:31:08] Stelle sicher, dass /var/www/discourse/tmp/restores/default/2022-03-05-013108 existiert...

[2022-03-05 01:31:08] Archiv in das tmp-Verzeichnis kopieren...

[2022-03-05 01:31:08] Archiv entpacken, das kann eine Weile dauern...

[2022-03-05 01:31:08] Dump-Datei extrahieren...

[2022-03-05 01:31:08] Metadaten validieren...

[2022-03-05 01:31:08]   Aktuelle Version: 20220220234155

[2022-03-05 01:31:08]   Wiederhergestellte Version: 20220223161000

[2022-03-05 01:31:08] EXCEPTION: Sie versuchen, eine neuere Version des Schemas wiederherzustellen. Sie sollten zuerst migrieren!

[2022-03-05 01:31:08] /var/www/discourse/lib/backup_restore/meta_data_handler.rb:31:in `validate'

/var/www/discourse/lib/backup_restore/restorer.rb:112:in `validate_backup_metadata'

/var/www/discourse/lib/backup_restore/restorer.rb:43:in `run'

/var/www/discourse/script/spawn_backup_restore.rb:23:in `restore'

/var/www/discourse/script/spawn_backup_restore.rb:36:in `block in <main>'

/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'

/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'

[2022-03-05 01:31:08] Versuch, zurückzurollen...

[2022-03-05 01:31:08] Es war kein Zurückrollen notwendig

[2022-03-05 01:31:08] Aufräumen...

[2022-03-05 01:31:08] Entferne tmp '/var/www/discourse/tmp/restores/default/2022-03-05-013108' Verzeichnis...

[2022-03-05 01:31:08] Markiere Wiederherstellung als abgeschlossen...

[2022-03-05 01:31:08] Benachrichtige 'Joaquin' über das Ende der Wiederherstellung...

Was ich bisher aus meiner Recherche gesammelt habe, ist, dass das “Schema”, das die Ausnahme erwähnt, dass ich “zuerst migrieren” sollte, etwas mit der Datenbank zu tun hat, die Discourse verwendet.

Ich habe mich auf Discourse Meta umgesehen und niemanden gefunden, der darüber spricht. Ich habe auch Discourse auf die neueste Version aktualisiert und versucht, erneut wiederherzustellen, aber das Ergebnis war dasselbe. Ich habe die Discourse-Dateien durchsucht, um zu sehen, ob es ein relevantes Werkzeug gibt, das helfen könnte, aber nichts vielversprechendes gefunden.

Meine beste Vermutung im Moment ist, dass in dieser Woche nach der Einrichtung unseres selbst gehosteten Discourse etwas mit unserem Testforum auf trydiscourse.com geändert wurde.

Meine Fragen sind:

  1. Wie kann ich die Migration durchführen, die der Fehler vorschlägt?
  2. Was genau hat diesen Wiederherstellungsfehler verursacht? Ist das etwas, das normalerweise passieren würde (nicht während eines Übergangs von einer Testversion zu einer selbst gehosteten)?

Vielen Dank im Voraus für jede Hilfe dabei! :slightly_smiling_face:

1 „Gefällt mir“

Sie sollten sicherstellen, dass Sie Ihre selbst gehostete Instanz mit mindestens denselben Plugins neu erstellen, die auch in Ihrer Testversion installiert wurden.

Alternativ, wenn Sie sich abenteuerlustig fühlen, könnten Sie Ihre Sicherungsdatei umbenennen und 20220223161000 durch 20220220234155 im Dateinamen ersetzen.

6 „Gefällt mir“

Ich hatte vor ein paar Tagen dasselbe Problem. Die Suchfunktion hat mich schnell zur Lösung geführt:

(übrigens dasselbe wie @RGJ).

3 „Gefällt mir“

Vielen Dank für die Antworten! Das ist sehr hilfreich :heart:

Ich bin immer noch neugierig, wie die Migration durchgeführt wird, aber es scheint, dass dies möglicherweise nicht erforderlich ist.

2 „Gefällt mir“