需要帮助将MyBB数据合并到Discourse(逐步流程)

大家好,

我花一整天的时间尝试使用多种方法将我的 MyBB 数据导入 Discourse,包括官方方法替代方法。尽管我已尽最大努力,但仍在努力让一切正常工作。我遇到了数据格式、字段缺失以及各种其他障碍的问题。

人们将 MyBB 合并到 Discourse 真的应该这么困难吗?似乎应该有更直接的方法来实现这一点,尤其是我已经将 MyBB 的数据(用户、主题、帖子和类别)导出为 CSV 文件。然而,导入过程似乎过于复杂,有时甚至过时。

其他人是否遇到过类似的挑战?是否有任何当前、简化的方法或工具可以让我无缝地将论坛从 MyBB 迁移到 Discourse,而不会遇到这些问题?

我将非常感谢任何已奏效的指导、脚本或分步流程。

谢谢!

你用了什么方法?你遇到了什么错误?

导入脚本读取的是 MySQL 数据库。你不能使用 CSV 文件。谁建议你可以使用 CSV 文件?

它的工作方式与其他导入脚本类似。文件开头包含:

所以你需要有一个运行脚本的机器可以访问的 MySQL 数据库,定义那些 ENV 变量并按照说明运行脚本。

你可以在 Migrating to Discourse - Discourse Meta 查看其他一些示例。它们的工作方式都差不多。

感谢您的回复。

我明白“官方”方法依赖于访问 MySQL 数据库并使用带有环境变量的 mybb.rb 脚本——是的,我尝试过。我还尝试按照导入指南的建议设置一个完整的本地 Discourse 开发环境,并计划在导入后将数据迁移到生产环境。但现实是,我在“迁移到 Discourse”类别中找到的大多数教程和示例要么过时,要么充斥着同样在使用 MyBB 导入器遇到错误的帖子。

脚本本身很脆弱。它已经过时,并且在遇到细微的模式差异或边缘情况时就会中断。大多数指南都假设您熟悉 Ruby、Rails 以及 Discourse 代码库的内部工作原理——而许多论坛管理员并不熟悉。即使我尝试通过导出到 CSV 来简化事情,也更多的是尝试手动准备数据,因为提供的工具根本不起作用。

当您说*“它们的工作方式都差不多”*——当然,但这就是问题所在。在 2025 年,其中许多在没有大量修补、调试和猜测的情况下都无法很好地工作。人们之所以挣扎,不是因为他们没有阅读文档——而是因为导入的生态系统仍然停留在以开发为中心的思维模式中。

此时,我已决定将我的 MyBB SQL 转换为可用的 Discourse .tar.gz 备份,然后通过管理面板上传和恢复。没有导入脚本,没有 Ruby 错误,只有一个干净、直接的方法可以奏效。

说实话,我将编写一个 Python 工具,让人们可以拖放他们的 MyBB SQL 文件并将其导出为 Discourse 就绪的备份。整个过程让我意识到,迫切需要一个现代化、用户友好的导入路径。用户不应该仅仅为了迁移他们的社区而经历如此多的痛苦。

不过,感谢您的帮助——我知道您只是在试图澄清,我并不是在特别指责任何人。但整个导入体验确实需要彻底改革。

Discourse 使用 Ruby 编写,因此有必要编写一个与 Discourse 内部交互的脚本。导入是一个以开发人员为中心的提议。

每个脚本都充满了边缘情况。我做过一百多次导入。每一个都需要出于各种原因进行调整。

你用 Python 为 Discourse 编写导入脚本的可能性非常接近于零。如果你这样做了,它可能对其他人不起作用。而且一旦你完成了迁移,你可能不会为 mybb 和 Discourse 的未来变化维护代码。