各位好,
首先,要向 Discourse 致以大大的感谢。Discourse 是一件艺术品,令人印象深刻。在使用 vBulletin 十多年后,我们一直找不到合适的论坛软件进行迁移(之前的都“老一套”,乏善可陈),直到遇见了Discourse。非常感谢!
目前,我正处于测试阶段,正在将数据从 vB 3.8.X 导入到 Docker 容器 中的最新版本的 Discourse。这两项对我来说都是首次尝试。事实上,就在本周之前,我从未想过自己会写哪怕一行 Ruby 代码,但 Discourse 实在太出色,值得我去学习。
导入脚本 vbulletin.rb 已经运行了一两天,大部分情况下运行正常。事实上,它的表现令人惊叹。偶尔会出现错误,但重启脚本后错误就消失了。
不过,我发现了一个导入子分类时的 bug(重启后依然存在),具体如下:
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 数据库,把所有子论坛改为父论坛,然后重新进行整个迁移。但后来我想,也许我应该更“社交”一点,把这个作为 bug 报告发出来。
除了我这个新手提出的笨办法外,大家有什么更好的修复建议吗?
如果没有,我打算再次导出数据,手动在数据库中调整,然后重新迁移。我知道这肯定是个新手的笨办法。
谢谢!