Проблема миграции с SMF2 на Discourse

Хорошо. Для тех, кто наткнулся на это: мне пришлось немало потрудиться, чтобы заставить этот скрипт импорта работать.

Контейнер MySQL Docker — версия 8.

Это означает, что по какой-то причине библиотека mariadb, которую подтягивает шаблон MySQL, не работает.

Что я сделал иначе, чем в https://meta.discourse.org/t/smf2-to-discourse-the-ultimate-guide/90314:

Я не включал файл шаблона 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, возможно, стоит скорректировать скрипты импорта с учётом этого. По крайней мере, теперь это есть на форуме, чтобы другие могли увидеть решение, если столкнутся с той же проблемой, что и я.