phpBB3フォーラムをDiscourseへ移行する

現在のスクリプトのバージョンにはいくつかのバグがあるようです。settings.yml ファイルを更新し、new_categoriescategory_mappings が以下のように設定されていることを確認してください。

new_categories: []
category_mappings: {}
「いいね!」 11

@gerhard ありがとうございます。すぐ試してみます。

「いいね!」 1

どうもありがとう、うまくいきました。

「いいね!」 3

既存のトピックに投稿がマージされました: Windows 10 での Discourse インストール入門ガイド

これは素晴らしい知らせですね!ありがとうございます。テスト用の 3.2 の SQL ダンプでいろいろ試してみますし、3.3 のコピーも作って試してみます。できれば皆さんに任せてしまいたいのですが、財布の紐が非常に固くて…(笑)。

とにかく、改めてありがとうございます。ぜひ試してみるのが楽しみです!

「いいね!」 2

インポートで問題が発生しています。インポートスクリプトを実行すると、SQL ダンプが読み込まれ、「The phpBB3 import is starting…」と表示されますが、すぐに以下の一般的なエラーでトレースバックが出力されます。

/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.0/lib/bootsnap/compile_cache.rb:29:in `permission_error’: bootsnap doesn’t have permission to write cache entries in ‘tmp/cache/bootsnap/compile-cache’ (or, less likely, doesn’t have permission to read ‘/usr/local/lib/ruby/2.7.0/set.rb’) (Bootsnap::CompileCache::PermissionError)

明らかに何らかの権限エラーですが、これを修正するために何を行うべきかを確認中です。ご協力いただければ幸いです!

「いいね!」 1

更新!解決しました!コンテナ内でquick chmodを実行したら、その問題が解消されました。

提案された編集をphpBB3.3のデータベースでテストしたところ、完璧に動作しました!より詳細なテストを続けていますが、予想されるbbcodeの問題を除けば、ほぼすべてが正常です。ユーザー、メッセージ、投稿、すべてがそのままコピーされました。唯一、どうやら動作しなかったのはパスワードの移行です。これは些細な問題です。モジュールをインストールして読み込まれていることを確認できたので、なぜ移行されなかったのかはわかりません。しかし、どうでもいいことです。ついにphpBBにお別れできることにワクワクしています。

@gerhard さん、ご尽力いただきありがとうございます!

「いいね!」 2

それは知れてよかったです。BBCode の問題の例を PM で送ってください。phpbb_posts.post_text カラムの値に興味があります。

「いいね!」 3

phpbb3 (.2.7) のインポートを 2 回試みました。
1 回目はトピックが 1 つもインポートされず、ユーザー情報が壊れてしまいました。
Ubuntu を最初から再インストールしてすべてやり直しましたが、今回は import_phpbb3.sh の段階でつまずいています。データベースの読み込みは行われるものの、以下のエラーで停止してしまいます。

The phpBB3 import is starting...

Traceback (most recent call last):
        20: from script/import_scripts/phpbb3.rb:13:in `\u003cmain\u003e'
        19: from script/import_scripts/phpbb3.rb:14:in `\u003cmodule:ImportScripts\u003e'
        18: from script/import_scripts/phpbb3.rb:15:in `\u003cmodule:PhpBB3\u003e'
        17: from script/import_scripts/phpbb3.rb:15:in `require_relative'
        16: from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `\u003ctop (required)\u003e'
        15: from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `require_relative'
        14: from /var/www/discourse/script/import_scripts/base.rb:16:in `\u003ctop (required)\u003e'
        13: from /var/www/discourse/script/import_scripts/base.rb:16:in `require_relative'
        12: from /var/www/discourse/config/environment.rb:4:in `\u003ctop (required)\u003e'
        11: from /var/www/discourse/config/environment.rb:4:in `require'
        10: from /var/www/discourse/config/application.rb:70:in `\u003ctop (required)\u003e'
         9: from /var/www/discourse/config/application.rb:71:in `\u003cmodule:Discourse\u003e'
         8: from /var/www/discourse/config/application.rb:96:in `\u003cclass:Application\u003e'
         7: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `require'
         6: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:291:in `load_dependency'
         5: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `block in require'
         4: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require'
         3: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
         2: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
         1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': cannot load such file -- mocha/version (LoadError)

ご協力いただけますと幸いです。

「いいね!」 1

phpBB 3.3 に関する更新情報:フォーラムを移行する前に気づいておけばよかったこと。3.3 では添付ファイルの仕組みが変更されました。物理的なファイル名を使用する代わりに、各ファイルに一意の識別子が割り当てられ、phpbb_attachments テーブルで参照されるようになりました。このファイルの一意の識別子は「USERID_おそらくランダムな文字列」という形式です。

ファイル拡張子などは含まれておらず、phpBB 3.3 はテーブルからそれを判断します。自動化する方法が思いつかないため、現在はバッチごとに古い画像を復元しています。3.3 更新前の古い画像のコピーがあるため、処理を高速化できるかもしれませんが、3.3 からのインポートは添付ファイルを破損させる可能性があるためご注意ください。特に数千もの添付ファイルがある場合、大変な作業になるでしょう。まあ、自発的に実験台になる幸運があったとでも思ってください!

「いいね!」 2

それ以上情報は得られませんでしたか?私の場合は、権限の問題で tmp/ ディレクトリを読み込めないと表示されました。そのため、インポートコンテナ内でそのディレクトリに対して chmod -R 777 を実行しました。これもインポート時のみの対応であり、あなたの「app」コンテナには影響しません。

「いいね!」 2

phpBB 3.2 からインポートできましたが、以下の手順が必要でした:

  • 内部の MariaDB にデータベースを手動でインポート mysql -u root -p phpbb < /shared/import/mysql/data/phpbb_mysql.sql

  • settings.yml を設定 new_categories: [] category_mappings: {}

  • 投稿やトピックで初回実行時にエラーが発生するため、インポートスクリプトを複数回実行

その後はすべて正常に動作しました…

「いいね!」 2

こんにちは、皆さん。
問題が発生しました。
https://discourse.example.com/ があります。
https://forum.old.example.com/ からデータベースをインポートしたいと考えています。
このガイドのすべての手順に従いました。
phpbb_mysql.sql という名前のデータベースダンプを作成し、以下に配置しました。

/var/discourse/shared/standalone/import/data/

その後、以下を実行しました。

/var/discourse/launcher enter import
import_phpbb3.sh

次のエラーが表示されました。

Table ‘phpbb.phpbb_config’ doesn’t exist

これは settings.yml の設定の問題でしょうか?

この問題の解決にご協力ください。

「いいね!」 1

table_prefix が正しいか確認してください。コントロールパネルでは phpbb_ と表示されていますか?

「いいね!」 2

はい、私のプレフィックスは正しいです

「いいね!」 1

正しければ、settings.yml の schemateamlab_forum_saas に設定する必要があります。

「いいね!」 2

これはデータベースの名前です。これがスキーマですか?

「いいね!」 1

その通りです。MySQLでは、schemadatabaseと同義です。:slightly_smiling_face:

「いいね!」 3

ちょっと待ってね、試してみるね。

「いいね!」 1

おかげさまで解決しました。本当にありがとうございました :+1: :clap:

「いいね!」 2