(edits importantes a continuación—segundo intento)
Trabajando en el proceso de importación de mensajes, siguiendo las instrucciones de Migrate from another forum to Discourse. Según mi entendimiento, el proceso debería ser así:
- Configurar el entorno de desarrollo usando Install Discourse on Ubuntu or Debian for Development
- Instalar MongoDB en ese sistema
- En ese sistema, como el mismo usuario no privilegiado que ejecuta Discourse,
git cloneel script de yahoo-group-export - Como el mismo usuario,
gem install mechanize;gem install mongo. Luego editar .config.yaml para proporcionar las credenciales de Yahoo y el nombre del grupo, y ejecutarruby bin/yg-export.rb. - Tomar una taza (o dos) de tu bebida preferida.
- Una vez que yg-export termine, en el directorio de Discourse, revisa
script/import_scripts/yahoogroup.rb. Edítalo para que apunte al MONGODB_HOST correcto (localhost). - En el directorio de discourse, ejecuta
bundle exec ruby script/import_scripts/yahoogroup.rb - Verifica que se haya importado correctamente
- Haz una copia de seguridad y restaura en un servidor en vivo
Los pasos 2 a 4 son inferidos. ¿Pero esto parece ser la secuencia correcta a seguir? Creyendo que lo era, procedí. Funcionó bien hasta el paso 4: yg-export.rb se ejecutó durante aproximadamente una hora, reportando ÉXITO para todo y guardando ~38k mensajes. La base de datos syncro está presente con ~85MB de datos. En ese punto, tomé una instantánea de la VM.
Sin embargo, tengo problemas con el script de importación. Cuando ejecuto bundle exec ruby script/import_scripts/yahoogroup.rb, obtengo esto:
dan@ubuntu:~/discourse$ bundle exec ruby script/import_scripts/yahoogroup.rb
Traceback (most recent call last):
script/import_scripts/yahoogroup.rb: Bootsnap::LoadPathCache::FallbackScan
7: from script/import_scripts/yahoogroup.rb:4:in `<main>'
6: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/kernel.rb:23:in `require'
5: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:26:in `require'
4: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:40:in `rescue in require'
3: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi'
2: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
1: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi'
/home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': cannot load such file -- mongo (LoadError)
Extraño, pensé que ya había instalado el gem mongo. Bueno, lo instalaré de nuevo:
dan@ubuntu:~/discourse$ gem install mongo
Successfully installed mongo-2.10.2
Parsing documentation for mongo-2.10.2
Done installing documentation for mongo after 4 seconds
1 gem installed
Vuelvo a ejecutar el script de importación, mismo resultado. ¿Importa si lo instalo a nivel del sistema?
dan@ubuntu:~/discourse$ sudo apt install ruby-mongo
[sudo] password for dan:
Reading package lists... Done
Building dependency tree
Reading state information... Done
ruby-mongo is already the newest version (2.5.1-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Más curioso y más curioso…