データベースの再読み込み

phpBBデータベースを移行中です。古いサイトがアクティブな間に、移行の大部分を行いたいと考えています。その後、移行週末にデータベースを再読み込みした後、移行スクリプトを再実行します。これにより、移行週末には30万件ではなく、数千件のユーザー投稿のみをインポートすることになります。

  1. これは実現可能ですか?移行スクリプトはMySQLデータベースの外部に再開ポイントを維持しますか?
  2. 前の作業をリセットしたり重複させたりすることなく、スクリプトで新しいデータベースダンプをアップロードする簡単な方法はありますか?

ベストプラクティスや提案があれば教えてください。

はい、phpBBインポートスクリプトはそれをサポートしています。更新されたSQLデータベースをロードした後、スクリプトを再実行するだけです。既存のコンテンツはスキップされ、Discourseに必要なものが追加されます。

「いいね!」 3

ご返信ありがとうございます。「更新されたSQLデータベースをロードした後」という返信について、明確化をお願いします。

これは、インポートスクリプトが新しいダンプファイルを自動的に認識してデータベースを更新することを意味しますか?それとも、更新されたデータを手動でデータベースにリフレッシュする必要があることを意味しますか?

「いいね!」 1

MySQLから古いデータベースを削除し、最新のSQLファイルを新しいデータベースとしてインポートし、インポートスクリプトを実行して最新のデータベースをロードする必要があります。

スクリプトはすべてのデータベースコンテンツを反復処理し、Discourseにすでに存在するコンテンツ(ユーザー、投稿など)を検出して、新しいデータのみをインポートします。

「いいね!」 1

その明確化をありがとうございます。

@Canapin マイグレーションに関する指示をありがとうございます。もしレコードがテーブルから削除された場合(例:製品または製品オプションが削除された場合)のクエリについて質問があります。

スクリプトはテーブルのそれらの行を更新しますか?

いいえ、投稿やユーザーの更新(編集)も検出されません。

「いいね!」 2

アップデートを提供するためです。phpBBの移行を2段階の方法で行いました。

最初の移行

現在のphpBBシステムがまだ稼働中の状態で、以下のことを行いました。

  • 標準のphpBB移行ガイドラインに従いました。
  • 現在のphpBBデータベースのSQLダンプを取得しました。
  • すべてのファイルとアバターをコピーしました。

これにより、データの大部分を移行し、実際のデータですべてをテストすることができました。データを確認し、新しいDiscourseシステムをセットアップした後、2回目の移行作業に進みました。

2回目の移行

今回はphpBBフォーラムをシャットダウンしました。

インポートスクリプトを再度実行しました。

  • 最初の移行以降の新しいファイルで、ファイルとアバターを更新しました。
  • MySQLダンプを新しいダンプファイルに置き換えました。

インポートスクリプトを実行しました。プロセスでは数週間分のデータのみをインポートする必要があったため、スクリプトは15分未満で完了しました。

すべてがスムーズに進みました。

大規模なphpBBフォーラムを移行する場合は、この2段階のアプローチを強くお勧めします。

「いいね!」 1