最近、Discourse に内蔵されているマイグレーションスクリプトを使用して、bbPress のデータベースマイグレーションに成功しました。そこで、その手順をステップバイステップのチュートリアルとして共有します。
注意: このチュートリアルは、bbPress プラグイン(レガシーなスタンドアロン版 bbPress ではありません)向けです。
どのデータをインポートできますか?
- ユーザー(匿名ユーザーを含む)
- カテゴリ
- トピック
- 投稿
- プライベートメッセージ(BuddyPress を経由)
- アタッチメント
- パーマリンク
マイグレーションを開始する前に、マシン(または仮想マシン内)に開発環境を設定し、Docker コンテナ内ではなく、そこでインポートを実行してください。Docker コンテナ内で試したところ、peer authentication failed というエラーが発生しました。そのため、開発用マシンを使用することを強くお勧めします。開発環境のインストールについては、macOS または Ubuntu / Debian のインストールガイドをご覧ください。
Discourse には Ruby 3.4 以上が必要です。Ruby のバージョンは以下のコマンドで確認できます。
ruby -v
次に、mysql2 gem を使用できるようにするため、libmysqlclient-dev 依存関係をインストールする必要があります。
sudo apt-get install libmysqlclient-dev
インストールが正常に完了したら、Discourse の開発環境のインストールパス(通常は ~/discourse)に移動します。
cd ~/discourse
データベース接続の設定
bbPress のインポートスクリプトは、すべてのデータベース接続設定を環境変数から読み取ります。スクリプトファイルを編集する必要はありません。以下の環境変数がサポートされています。
| 変数 | デフォルト | 説明 |
|---|---|---|
BBPRESS_HOST |
localhost |
MySQL データベースホスト |
BBPRESS_USER |
root |
MySQL ユーザー名 |
BBPRESS_PW |
(空) | MySQL パスワード |
BBPRESS_DB |
bbpress |
MySQL データベース名 |
BBPRESS_PREFIX |
wp_ |
WordPress テーブルプレフィックス |
BBPRESS_ATTACHMENTS_DIR |
/path/to/attachments |
bbPress のアタッチメントディレクトリへのパス |
ローカルホストからデータベースをマイグレーションする場合、通常はデータベース名を設定するだけで十分です。
IMPORT=1 bundle && IMPORT=1 BBPRESS_DB="my_bbpress" bundle exec ruby script/import_scripts/bbpress.rb
外部サーバーからデータベースをマイグレーションする場合、ホスト、ユーザー名、パスワードも設定する必要があります。
IMPORT=1 bundle && IMPORT=1 BBPRESS_HOST="REMOTE_HOST_NAME" BBPRESS_USER="DB_USERNAME" BBPRESS_PW="MY_SECURE_PASSWORD" BBPRESS_DB="DB_NAME" bundle exec ruby script/import_scripts/bbpress.rb
おめでとうございます! bbPress から Discourse へのデータベースマイグレーションが正常に完了しました
![]()
次に、管理画面 /admin/backups からバックアップを取得し、ライブの Discourse ウェブサイトにインポートしてください。
bbPress フォーラムを Discourse へ移行した後、WordPress ウェブサイトをメインサイトとして引き続き使用し、Discourse と連携させたい場合は、Discourse の公式 WordPress プラグイン をインストールしてください。


