Yahoo! Groups에서 마이그레이션

(아래에 주요 수정 사항 있음 — 두 번째 시도)

메시지 가져오기 과정을 작업 중이며, Migrate from another forum to Discourse 에 있는 지침을 따르고 있습니다. 제 이해로는 이 과정은 다음과 같이 보일 것입니다:

  • Install Discourse on Ubuntu or Debian for Development 를 사용하여 개발 환경을 설정합니다.
  • 해당 시스템에 MongoDB를 설치합니다.
  • 해당 시스템에서, Discourse를 실행하는 것과 동일한 비특권 사용자로 git clone하여 yahoo-group-export 스크립트를 가져옵니다.
  • 동일한 사용자로 gem install mechanize; gem install mongo를 실행합니다. 그런 다음 .config.yaml을 편집하여 Yahoo 자격 증명과 그룹 이름을 입력하고 ruby bin/yg-export.rb를 실행합니다.
  • 좋아하는 음료를 한 잔(또는 두 잔) 마십니다.
  • yg-export가 완료되면, Discourse 디렉터리에서 script/import_scripts/yahoogroup.rb를 확인합니다. 올바른 MONGODB_HOST(localhost)를 가리키도록 편집합니다.
  • discourse 디렉터리에서 bundle exec ruby script/import_scripts/yahoogroup.rb를 실행합니다.
  • 올바르게 가져와졌는지 확인합니다.
  • 백업과 복원을 통해 라이브 서버에 적용합니다.

2~4단계는 추론에 의한 것입니다. 하지만 이것이 따를 올바른 단계처럼 보이나요? 그렇다고 믿고 진행했습니다. 4단계까지는 잘 실행되었습니다 — yg-export.rb는 약 1시간 동안 실행되어 모든 항목에 대해 SUCCESS를 보고하고 약 38k개의 메시지를 저장했습니다. syncro 데이터베이스에는 약 85MB의 데이터가 존재합니다. 그 시점에서 VM 스냅샷을 촬영했습니다.

하지만 가져오기 스크립트에서 문제가 발생하고 있습니다. bundle exec ruby script/import_scripts/yahoogroup.rb를 실행하면 다음과 같은 오류가 나옵니다:

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)

이상하네요. mongo 제보를 이미 설치했다고 생각했거든요. 뭐, 다시 설치해 보겠습니다:

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

다시 가져오기 스크립트를 실행했는데, 결과는 동일합니다. 시스템 수준에서 설치하는 것이 영향을 미칠까요?

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.

더욱 더 이상해지네요…