スナップショットアップロードによる移行

vbulletin移行スクリプトとの正常な戦いを終え、数百万件の投稿が残っているにもかかわらず、36時間も移行処理が続いているのを見ています…

既存のDiscourseコンテンツやデータリレーションシップを保持する必要がない場合、既存の非Discourseフォーラムをソースデータベースデータから直接DiscourseバックアップSQLスナップショットを生成することによって移行できない理由はあるでしょうか?

スクリプトをゼロから書く必要がありますが、既存の移行スクリプトとほぼ同じレベルになるでしょう。スクリプトはソースデータベースからデータを抽出し、必要に応じて加工*し、各ターゲットDiscourseテーブルのフラットデータダンプを生成します。これはDiscourseバックアップスナップショットの同等物を組み立てるために使用できます。ほぼ、スクリプトの出力は空のDiscourseインスタンスのバックアップスナップショットに注入されることになります。

上記の*は大量の作業を隠していますが、見落としている大きな障害はありますか?既存のソースデータ識別子(トピックID、スレッドIDなど)をすべて再利用できるため、加工ステップで大量の状態を保持する必要はないと思いますが、それは間違っているかもしれません。移行ロジックの重労働は、ソースデータベースへのデータベース呼び出しにあるようです。

それは、バルクインポートスクリプトがやっていることとほぼ同じです。vBulletin用のものがあると思います。すべて最初からやり直すことになりますし、まだ実行に成功していませんが、別のマシンがあれば、現在のインポートが続行されている間にそちらで試すことができます。

「いいね!」 1

@zogstrip@gerhard は、GitHub のバルクインポータコードは最近どこにありますか?

インポートスクリプトディレクトリにあります。

「いいね!」 2