Fehler beim Importieren von Themen aus Flarum (Benutzer, Gruppen Import OK)

Hey Leute, ich hoffe wirklich sehr, dass mir jemand bei meiner Migration von Flarum zu Discourse helfen kann. Ich habe mir mit viel Eigeninitiative ein riesiges Loch in meinem fehlenden Wissen gestopft und ein paar Fehler gelöst, die auf Annahmen des aktuellen Importers basierten (z. B. Datenbankpräfixe). Danach konnte ich sowohl Kategorien als auch Benutzer importieren! :partying_face:

Aber jetzt habe ich Probleme, die eigentlichen Themen zu importieren, was natürlich eines der wichtigsten Dinge ist. :grinning_face_with_smiling_eyes: Und leider finde ich sehr wenig zu der spezifischen Fehlermeldung, die ich erhalte. Es gibt einen älteren Thread hier in Meta, der keine Antwort erhalten hat, also keine Hilfe dort. Ich hoffe, ich komme besser zurecht. :grin:

Hier ist die vollständige Fehlermeldung. Der Teil ganz unten scheint der kritische Punkt zu sein. Der identifizierte „duplicate key value" wirkt wirklich sehr vage, also bin ich festgefahren. Vielen Dank im Voraus für jeden Hinweis, den ihr geben könnt!

Ein Fehler ist beim Laden von ./script/import_scripts/flarum_import.rb aufgetreten.
Failure/Error: return exec_without_profiling(*args, &blk) unless SqlPatches.should_measure?

PG::InFailedSqlTransaction:
  ERROR:  current transaction is aborted, commands ignored until end of transaction block
# ./script/import_scripts/base.rb:243:in `ensure in block in all_records_exist?'
# ./script/import_scripts/base.rb:243:in `block in all_records_exist?'
# ./script/import_scripts/base.rb:224:in `all_records_exist?'
# ./script/import_scripts/flarum_import.rb:122:in `block in import_posts'
# ./script/import_scripts/base.rb:874:in `block in batches'
# ./script/import_scripts/base.rb:873:in `loop'
# ./script/import_scripts/base.rb:873:in `batches'
# ./script/import_scripts/flarum_import.rb:101:in `import_posts'
# ./script/import_scripts/flarum_import.rb:32:in `execute'
# ./script/import_scripts/base.rb:47:in `perform'
# ./script/import_scripts/flarum_import.rb:162:in `<top (required)>'
# ------------------
# --- Caused by: ---
# PG::UniqueViolation:
#   ERROR:  duplicate key value violates unique constraint "import_ids_pkey"
#   DETAIL:  Key (val)=(3) already exists.
#   ./script/import_scripts/base.rb:231:in `block in all_records_exist?'
Keine Beispiele gefunden.


Abgeschlossen in 0,00004 Sekunden (Dateien benötigten 5,56 Sekunden zum Laden)
0 Beispiele, 0 Fehler, 1 Fehler außerhalb von Beispielen aufgetreten

Das klingt nach einem beschädigten Index, was überraschend ist. Welche PostgreSQL-Version wird verwendet? Ich würde die Datenbank wahrscheinlich löschen und es erneut versuchen. Wahrscheinlich musst du das ohnehin mehrmals tun, während du andere Probleme mit Themen debuggst.

Die andere Möglichkeit ist, diesen Index neu aufzubauen und doppelte Datensätze zu löschen, bis es funktioniert.

Danke, Jay! Leider habe ich diese Discourse-Installation aufgrund – nun ja, meiner eigenen Dummheit (falscher Umgang mit einer virtuellen Maschine) – verloren. Ich kann also nicht zurückgehen und nachprüfen, noch deine empfohlenen Fehlerbehebungen durchführen, was mich ziemlich schlecht/dumm fühlen lässt. Aber so ist das nun mal.

Was ich dir sagen kann, ist, dass ich die Discourse-Ubuntu-Einrichtungshinweise befolgt habe:

Es handelt sich also um diejenige Version von Postgres, die auf diese Weise installiert wird. Ich hatte bereits ein paar Importversuche unternommen, ohne die Datenbank dazwischen zu leeren, vielleicht hat das etwas damit zu tun.

Ich habe die Ubuntu-Dev-Umgebung-Methode gewählt, anstatt den Docker-Ansatz zu verwenden, weil bei meinen früheren Versuchen (auf Digital Ocean) keine der Anweisungen, die ich fand, um überhaupt irgendetwas zu tun, funktionierten – vermutlich, weil alles innerhalb von Docker/Containern lief und einen anderen Ansatz erforderte.

Ich operiere leider genau an den Grenzen meines Verständnisses, aber es fühlte sich trotzdem an, als wäre es zumindest einen Versuch wert, es selbst zu machen. Mit diesem großen Rückschlag und dem Wissen, dass wahrscheinlich noch weitere Fehlerbehebungsschritte bevorstehen, denke ich, dass es sehr wahrscheinlich Zeit ist, professionelle Hilfe in Anspruch zu nehmen. Also mache ich mich auf den Weg, dafür ein Budget zu beschaffen. :grinning_face_with_smiling_eyes:

Nochmals vielen Dank für deine Hilfe!

Perfekt! Es gibt keinen Grund herauszufinden, was passiert ist, es sei denn, es passiert wieder.