Installation du gem mysql2 pour l'importation de Flarum

Je n’ai aucune connaissance de Rails et donc, aucune de Discourse. J’essaie de migrer la base de données Flarum vers Discourse.

P.S. : J’ai installé avec succès Discourse pour la production.

Pour l’instant, j’ai installé Discourse Docker à partir du dépôt Git officiel. Lorsque j’essaie d’exécuter le script d’importation dans le conteneur Docker :

su discourse -c 'bundle exec ruby script/import_scripts/flarum_import.rb'

J’obtiens cette erreur :

/usr/local/lib/ruby/3.3.0/bundled_gems.rb:74:in `require': cannot load such file -- mysql2 (LoadError)
from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'

J’ai essayé toutes les méthodes expliquées dans différents posts de forum, mais aucune n’a fonctionné.
Si quelqu’un pouvait expliquer en 2-3 étapes quoi faire pour exécuter le script d’importation ‘flarum_import.rb’, ce serait d’une grande aide.

Si vous regardez dans /var/discourse/templates/import, il y a quelques exemples sur la façon d’inclure les éléments mysql.
Vous devez également installer mysql quelque part où Discourse peut y accéder.

2 « J'aime »

Merci d’avoir signalé. Je ne savais tout simplement pas comment exécuter ces scripts. Bien que je ne sois pas doué pour obtenir des indices, cela m’a aidé à mettre les choses au clair.

J’ai modifié le fichier « containers/app.yml »

cd /var/discourse/containers
sudo nano app.yml

Et j’ai ajouté le chemin du modèle pour le modèle mysql-dep : - "templates/import/mysql-dep.template.yml" comme indiqué ci-dessous

Après cela, il suffit de reconstruire l’application et toutes les dépendances requises pour flarum_import.rb ont été installées.

Cela a fonctionné à merveille !

2 « J'aime »