如何使用API将discourse1.com的主题转换为discourse2.com

大家好,
我有两个 Discourse 论坛 discourse1.comdiscourse2.com
例如,我在 discourse1.com 上有 3000 个主题,我想使用 API 将 discourse1.com 上的 3000 个主题迁移到 discourse2.com

有人能指导我提供代码吗?
谢谢!

1 个赞

也许您想了解 主题和分类导出/导入。API 不是一个很好的方法。

1 个赞

感谢 @pfaffman

您可以分享更多:

如果 discourse2.com 中有 7000 个主题,那么当我将 3000 个主题从 discourse1.com 移动到 discourse2.com 时,discourse2.com 中的 7000 个主题不会被删除?
那么 discourse2.com 将拥有 7000 + 3000 个主题 = 10,000 个主题?
我很担心,discourse2.com 中的 7000 个主题会被删除。

这理想情况下应该是在成功导入后发生的情况。

建议在开始导入/导出之前备份 discourse 1 和 discourse 2,以防万一出现问题。

2 个赞

谢谢,我将尝试实现。

我尝试切换,但我们主题的 onebox 消失了。

有没有其他方法可以防止 onebox 丢失?例如,使用 API 如何?

如果您想将主题从一个论坛复制到另一个论坛,我建议的脚本就是实现这一目标的方法。

我不知道这是什么意思。切换什么?

您是说您使用了该脚本,并且在导入主题时,生成的主题缺少 onebox?如果转到扳手图标并重建 HTML,它们会回来吗?如果是这样,您可以从命令行重新烘焙帖子,或者,我猜,只需等待。

我的结果与图片中的相同,主题中的 onebox 丢失了。
所以我想到了使用 API,但我不确定:API 方法是否会保留 onebox。

之前:

之后:

这是正常的,您需要执行一次重新烘焙,帖子将被处理并生成 onebox:

cd /var/discourse
./launcher enter app
rake posts:rebake

谢谢 @Steven

我仍然希望能够使用 API,
因为 rake posts:rebake 将导致我们的其他主题也进行 rebake。
出于某些原因,我们很难做出 rebake 的决定。

您可以通过手动重建每个帖子,使用 然后点击扳手图标打开一些选项,使用“重建 HTML”

它将再次处理 onebox

1 个赞

非常感谢,
但是,我们有很多主题,如果手动操作,时间和成本都不够。

希望有人能指导我如何使用API,而无需删除onebox。