OK. Donc, pour ceux d’entre vous qui tombent sur ce message, j’ai dû faire pas mal de modifications pour faire fonctionner ce script d’importation.
Le conteneur Docker MySQL est en version 8.
Pour une raison quelconque, cela signifie que la bibliothèque MariaDB incluse dans le modèle MySQL ne fonctionne pas.
Voici ce que j’ai fait différemment de Migrate an SMF2 forum to Discourse :
Je n’ai pas inclus le fichier de modèle MySQL dans le fichier de configuration du conteneur d’importation.
J’ai construit le conteneur d’importation, puis je suis entré dedans avec ./launcher enter import.
Ensuite :
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
Cela affiche une invite interactive où vous pouvez sélectionner les paramètres par défaut (MySQL 8 avec les outils).
Ensuite, j’ai installé la bibliothèque MySQL 8 standard et poursuivi la construction :
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'
Une fois tout cela terminé, le reste était identique ; l’importation est maintenant en cours d’exécution.
Les développeurs de Discourse pourraient souhaiter ajuster les scripts d’importation pour prendre cela en compte. En tout cas, cela est désormais disponible sur les forums pour que d’autres puissent le voir s’ils rencontrent les mêmes problèmes que moi.