Instalación de la gema mysql2 para la importación de Flarum

No tengo conocimiento de Rails y, por lo tanto, tampoco de Discourse. Estoy intentando migrar la base de datos de Flarum a Discourse.

P.D.: He instalado Discourse correctamente para producción.

Ahora mismo, he instalado Discourse Docker desde el repositorio oficial de Git. Cuando intento ejecutar el script de importación en el contenedor de Docker:

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

Recibo este error:

/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'

He probado todos los métodos explicados en diferentes publicaciones de foros, pero ninguno funcionó.
Si alguien pudiera explicar en 2-3 pasos qué hacer para ejecutar el script de importación ‘flarum_import.rb’, sería de gran ayuda.

Si miras en /var/discourse/templates/import, hay algunos ejemplos de cómo incluir las cosas de mysql.

También necesitas instalar mysql en algún lugar al que Discourse pueda acceder.

2 Me gusta

Gracias por señalarlo. Simplemente no sabía cómo ejecutar esos scripts. Aunque no soy bueno para recibir pistas, esto me ayudó a aclarar las cosas.

Edité el “containers/app.yml”

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

Y agregué la ruta de la plantilla para la plantilla mysql-dep: - "templates/import/mysql-dep.template.yml" como se muestra a continuación

Después de eso, simplemente reconstruí la aplicación y se instalaron todas las dependencias requeridas para flarum_import.rb.

¡Funcionó a la perfección!

2 Me gusta