Migration per Snapshot-Upload

Nachdem wir erfolgreich mit dem vbulletin-Migrationsskript gekämpft haben und die Migration nun seit 36 Stunden läuft, wobei noch ein paar Millionen Beiträge übrig sind…

Wenn keine bestehenden Discourse-Inhalte oder Datenbeziehungen erhalten bleiben müssen, gibt es dann einen Grund, warum ein bestehendes Nicht-Discourse-Forum nicht migriert werden könnte, indem direkt aus den Quelldatenbankdaten ein Discourse-Backup-SQL-Snapshot generiert wird?

Wir müssten das Skript mehr oder weniger von Grund auf neu schreiben, aber es wäre auf hoher Ebene ähnlich wie die bestehenden Migrationsskripte. Das Skript würde die Daten aus der Quelldatenbank abrufen, sie nach Bedarf aufbereiten* und flache Datendumps für jede Ziel-Discourse-Tabelle generieren, die verwendet werden könnten, um das Äquivalent eines Discourse-Backup-Snapshots zusammenzustellen. Mehr oder weniger würde die Skriptausgabe in den Backup-Snapshot einer leeren Discourse-Instanz eingespeist werden.

Das * oben verbirgt eine Menge Arbeit, aber gibt es größere Hürden, die ich übersehe? Da wir alle vorhandenen Quellendatenbezeichner (Themen-ID, Thread-ID usw.) wiederverwenden können, glaube ich nicht, dass der Aufbereitungsschritt eine signifikante Menge an Zustand erfordert, aber vielleicht liege ich da falsch. Es scheint, dass die Hauptarbeit der Migrationslogik in den Datenbankaufrufen an die Quelldatenbank liegen würde.

Das ist so ziemlich das, was das Bulk-Import-Skript tut. Ich glaube, es gibt eines für vBulletin. Sie werden ganz von vorne anfangen und ich war bisher nicht erfolgreich darin, es auszuführen, aber wenn Sie eine andere Maschine haben, können Sie es dort versuchen, während der aktuelle Import fortgesetzt wird.

1 „Gefällt mir“

Wo befindet sich der Massenimport-Code heutzutage auf GitHub, @zogstrip und @gerhard?

Es befindet sich im Verzeichnis des Importskripts.

2 „Gefällt mir“