Migração do Yahoo! Groups

(Edições principais abaixo–segunda tentativa)

Trabalhando no processo de importação de mensagens, usando as instruções em Migrate from another forum to Discourse. Pelo que entendi, o processo deve ser assim:

  • Configurar o ambiente de desenvolvimento usando Install Discourse on Ubuntu or Debian for Development
  • Instalar o MongoDB nesse sistema
  • Nesse sistema, como o mesmo usuário não privilegiado que está executando o Discourse, fazer git clone do script yahoo-group-export
  • Como o mesmo usuário, executar gem install mechanize; gem install mongo. Em seguida, editar .config.yaml para fornecer as credenciais do Yahoo e o nome do grupo, e rodar ruby bin/yg-export.rb.
  • Tomar uma xícara (ou duas) da sua bebida preferida.
  • Assim que o yg-export terminar, no diretório do Discourse, dê uma olhada em script/import_scripts/yahoogroup.rb. Edite-o para apontar para o MONGODB_HOST correto (localhost).
  • No diretório do discourse, execute bundle exec ruby script/import_scripts/yahoogroup.rb
  • Verifique se foi importado corretamente
  • Faça backup e restaure em um servidor ao vivo

Os passos 2 a 4 são inferidos. Mas isso parece ser o caminho certo a seguir? Acreditando que eram, prossegui. Tudo funcionou bem até o passo 4–o yg-export.rb rodou por cerca de uma hora, relatando SUCESSO para tudo e salvando ~38k mensagens. O banco de dados syncro está presente com ~85MB de dados nele. Nesse ponto, fiz um snapshot da VM.

Estou tendo problemas com o script de importação, no entanto. Quando executo bundle exec ruby script/import_scripts/yahoogroup.rb, recebo isso:

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)

Estranho, pensei que já tivesse instalado o gem mongo. Bom, vou fazer de novo:

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

Rodo o script de importação novamente, mesmo resultado. Importa se eu instalá-lo no nível do 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.

Mais curioso ainda…