daemon
(Alex)
1
你好!
我有以下问题:
我从 2017 年开始有一个 SMF 论坛,现在大约有 4000 个帖子。
去年我并行运行了一个 Discourse 论坛,大约有 1000 个帖子,但目前它已下线,因为我在 2021 年 12 月回到了 SMF。
好吧,我就是不喜欢 SMF 了,所以我想将其迁移到 Discourse,但我也想保留 Discourse 论坛上的 1000 个帖子。
我有 Discourse 论坛的备份,从 SMF 备份也没有问题。
将 SMF 迁移到 Discourse 应该不是问题,尽管我从未尝试过。
我必须承认,两者有相似的类别,但也有差异。
是否可以将两个论坛合并成一个?
如果可以,最好的方法是什么?
从 SMF 我只需要用户,这两个论坛的用户基本相同(或多或少),以及帖子。原则上,SMF 论坛的所有帖子都可以导入到一个单独的类别中,然后我会自己将它们移动到正确的类别(或者就将其保留在那里作为一种存档)。
我的方法如下:
- 我备份当前的 SMF,然后将其导入到第二个 SMF 中,并将所有主题和帖子移到一个类别中,然后再次备份以导入到 Discourse。
- 我将“旧”的 Discourse 论坛重新上线。(有或没有那 1000 个帖子?)
- 我导入 SMF 的备份。
这里我的问题是这是否可行,因为主题和帖子有来自 SMF 的 ID 和时间戳,并且这些与用户等相关联。
说实话,我不知道如何进行,也不知道这是否可行。
脚本是否已针对 SMF 2.1.x 进行了调整?
任何帮助都将不胜感激!
我不确定 Discourse 是否支持 SMF 的原生备份。我知道 Discourse 官方团队可以协助迁移,但我不知道费用。过去,我曾使用 Discourse API 迁移大量论坛数据。我在 Discourse 论坛上创建了我的分类。完成后,我创建了一个 Python 脚本来抓取我的旧论坛并用主题、用户等填充新论坛。
daemon
(Alex)
3
文档中有一条关于如何从 SMF 迁移到 Discourse 的说明。
https://meta.discourse.org/docs?topic=90314
如果我会编程,用一个脚本从 SMF 抓取数据并导入到 Discourse 中会很好。
2 个赞
啊,好的。我不知道他们有关于如何从 SMF2 迁移的官方文档。您的论坛是 SMF2 还是 SMF1 论坛?
daemon
(Alex)
5
有,也有没有,它是 SMF 2.1.x,SMF 从 2.0.x 到 2.1.x 改变了很多。
而且我仍然有合并两个论坛的问题。
1 个赞
好的。感谢您的信息 
您在迁移指南的哪个步骤遇到问题?migration guide
1 个赞
另请参阅:Merge two Discourse sites into one
需要注意的是,我没有亲自进行过迁移,但我的方法是:
- 将您的 SMF 数据迁移到一个新的实例
- 使用上述指南合并两个 Discourse 实例
pfaffman
(Jay Pfaffman)
8
嗯,我们都有自己的“锤子”,但我发现将 SMF 站点合并到 Discourse 的脚本会遗漏很多边缘情况(我现在记不清具体是什么了)。然后你还需要进行两次迁移。
我可能会直接在现有的 Discourse 站点上运行 SMF 脚本。当我这样做的时候,我进行了一些调整,比如合并分类和对齐站点之间的用户。如果你懂一点编程,即使你不懂 Ruby,这些脚本通常也足够容易理解。
2 个赞
daemon
(Alex)
9
我现在还没有开始。
但是,我的问题是 1. 这个脚本是否适用于 SMF2.1,以及 2. 是否可以将 SMF 合并到现有的 Discourse 实例中。
我完全错过了这个。感谢您的回答。我认为这应该是可行的。
@pfaffman
我不需要 SMF 的所有内容,只需要帖子、主题和用户。
也许我需要调整一下才能让它工作。
pfaffman
(Jay Pfaffman)
10
这几乎就是需要导入的所有内容。导入分类可能比不导入更容易。
是的。而且在您尝试之前,无法知道需要多少工作。