SMF2からDiscourseへの移行問題

OK. これを見つけた方のために、このインポートスクリプトが動作するように調整するのにかなり手間がかかりました。

MySQL の Docker コンテナはバージョン 8 です。

そのためか、MySQL テンプレートが参照する MariaDB ライブラリが機能しませんでした。

Migrate an SMF2 forum to Discourse とは異なる対応として:

インポート Docker コンテナの設定ファイルに MySQL テンプレートファイルを含めませんでした。

インポートコンテナをビルドし、./launcher enter import でコンテナ内に入りました。

その後:

echo "gem 'mysql2'" >> Gemfile
wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb
dpkg -i mysql-apt-config_0.8.17-1_all.deb

対話式プロンプトが表示されるので、デフォルト設定(ツール付き MySQL 8)を選択します。

その後、通常の MySQL 8 ライブラリをインストールし、ビルドを続行しました:

apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libmysqlclient-dev
su discourse -c 'bundle config unset deployment'
su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development'

これで全て完了し、残りの手順は同じでした。インポートが現在実行中です。

Discourse の開発者の方々は、この点に対応するようにインポートスクリプトを調整したいと思うかもしれません。少なくとも、私と同じようにつまずく人がいる場合に参考できるよう、フォーラムに情報が残りました。