OK. Quindi, per coloro che si imbattono in questo, ho dovuto fare un bel po’ di lavoro per far funzionare correttamente questo script di importazione.
Il contenitore Docker MySQL è alla versione 8.
Questo significa, per qualche motivo, che la libreria MariaDB inclusa nel template MySQL non funziona.
Ecco cosa ho fatto diversamente rispetto a https://meta.discourse.org/t/smf2-to-discourse-the-ultimate-guide/90314:
Non ho incluso il file del template MySQL nella configurazione del contenitore Docker di importazione.
Ho costruito il contenitore di importazione e sono entrato al suo interno con ./launcher enter import
Poi:
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
Questo presenta un prompt interattivo e puoi selezionare le impostazioni predefinite (MySQL 8 con gli strumenti).
Successivamente ho installato la normale libreria MySQL 8 e ho proseguito con la costruzione:
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'
Una volta completato tutto questo, il resto è rimasto invariato; l’importazione è ora in esecuzione.
Gli sviluppatori di Discourse potrebbero voler modificare gli script di importazione per tenere conto di questa situazione; almeno ora è disponibile sui forum per chi, come me, si trova in difficoltà.