여러분께,
먼저 Discourse에 큰 감사를 드립니다. Discourse는 예술 작품이자 매우 인상적인 소프트웨어입니다. vBulletin을 10년 넘게 사용해 온 저희는 이전까지 포팅할 만한 포럼 소프트웨어를 찾지 못했습니다(그저 ‘예전과 똑같고, 똑같고’.. 지루했거든요). 그러다 Discourse를 만나게 되었습니다. 감사합니다
현재 저는 테스트 환경에서 vB 3.8.X에서 최신 버전의 Discourse로 데이터를 가져오는 작업을 진행 중입니다. 이 작업은 docker container에서 수행하고 있으며, 저에게는 두 가지 모두 처음 해보는 일입니다. 사실 이번 주를 앞두고만 해도 제가 Ruby 코드를 한 줄이라도 작성하게 될 것이라고는 상상도 하지 못했습니다. 하지만 Discourse가 워낙 훌륭해서 그만한 가치가 있다고 느낍니다.
import script인 vbulletin.rb가 하루 정도 동안 꾸준히 실행되고 있으며, 대부분 잘 작동하고 있습니다. 사실 매우 인상적입니다. 몇 번은 에러가 발생했지만, 스크립트를 재시작하면 에러가 사라졌습니다.
자식 카테고리 가져오기(importing children categories) 과정에서 버그를 발견했습니다. (재시작해도 사라지지 않는 버그입니다) 내용은 다음과 같습니다:
Traceback (most recent call last):
5: from script/import_scripts/vbulletin.rb:942:in `<main>'
4: from /var/www/discourse/script/import_scripts/base.rb:47:in `perform'
3: from script/import_scripts/vbulletin.rb:84:in `execute'
2: from script/import_scripts/vbulletin.rb:287:in `import_categories'
1: from script/import_scripts/vbulletin.rb:287:in `each'
script/import_scripts/vbulletin.rb:289:in `block in import_categories': undefined method `[]' for nil:NilClass (NoMethodError)
root@localhost-app:/var/www/discourse# su discourse -c 'bundle exec ruby script/import_scripts/vbulletin.rb'
이 문제를 해결하기 위한 제 계획은 좀 초보적입니다. vB 데이터베이스를 redump해서 모든 child 포럼을 parents로 변경한 뒤, 전체 마이그레이션을 다시 수행하려 했습니다. 하지만 그러다 보니, 좀 더 소통하며 이를 버그 리포트로 게시하는 것이 더 나을 수도 있겠다는 생각이 들었습니다.
위에서 언급한 제 초보적인 아이디어 외에 이 문제를 해결하는 더 나은 방법이 있을까요?
없다면, 저는 다시 덤프를 내리고 데이터베이스에서 수동으로 조정한 후 다시 마이그레이션을 진행할 계획입니다. 이 역시 문제를 해결하기 위한 초보적인 방법일 것이라고 확신합니다.
감사합니다!
