pnoeric
(Eric)
1
嘿,我正在将大量内容从旧的(专有的)论坛软件迁移到新的 Discourse 论坛。
我不是 Ruby 开发者,所以无法直接使用 Discourse 提供的示例导入脚本……这对来说并不是一个理想的解决方案。因此,我选择直接调用 API 来处理所有步骤。
问题是,我在迁移过程中遇到了很多问题……主要是速率限制,此外还有重复论坛的问题,以及消息内容未能通过所有“现实检查”的问题(例如:最小帖子长度,我最终发现需要在设置中将其更改为 ‘1’)。
还有其他更好或替代的方案吗?我能否直接将数据推送到数据库中,或者……?
pfaffman
(Jay Pfaffman)
2
如果您熟悉任何编程语言,从现有的导入脚本入手是最佳选择。批量导入脚本直接修改 SQL,但它们仍是用 Ruby 编写的。
pnoeric
(Eric)
3
好的……我会查看这些脚本……我是其他语言的经验丰富的开发者,只是不熟悉 Ruby/RoR。
……
好的,我看完 GitHub 上现有的导入脚本回来了。
从我看到的来看,它非常像我之前为导入功能编写的代码:大量的循环来获取用户、主题,最后是消息。还有专门处理附件的代码(分别上传它们,获取 Discourse 内部 URL,并将其附加到消息正文中)。
这些脚本中是否有特殊的 API 调用或其他我遗漏的内容,可能会对我有所帮助?问题不在于我无法编写自己的导入脚本(使用 API),而在于它看起来有些笨拙,我想知道是否有更流畅、更优雅的解决方案。如果示例脚本中有任何“技巧”(比如特殊的 API 调用?),我可以在其他语言中借鉴,我很希望能了解这些。
pnoeric
(Eric)
5
哈哈,是的,我们已经确认了这一点,同时也确认了我不熟悉 RoR,所以花时间重写现有的脚本对我来说也不是一个好的解决方案。如果你有其他建议能帮到我,我非常(真诚地)希望能听到。谢谢。
neounix
(Dark Matter)
6
你好,Eric,
核心迁移脚本是一个很好的起点。一个月前,我也从未接触过 Ruby 编程。
事实上,几天前我还写了一个自定义的 PHP 脚本来协助迁移(毕竟我有十年的 PHP 经验),但后来决定用 Ruby 重写,结果“简直小菜一碟”哈哈!
现在,我成了 Ruby 的粉丝!
Ruby 起初看起来有点奇怪,但现在我开始觉得它很有道理了。
直接跳进去试试吧,你会没问题的!
或者……请这里的某位程序员来帮你!