好的。对于那些遇到这个问题的人,我不得不花了不少功夫调整这个导入脚本才能让它正常运行。
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 的开发人员可能需要调整导入脚本以应对这种情况,至少现在论坛上有这个记录,其他人如果像我一样遇到卡住的情况可以参考。