将 phpBB3 论坛迁移到 Discourse

我完全没头绪。我已经创建了一个迁移协议,而且我非常确定除了上次测试运行时做过的事情之外,我没有做任何其他操作。让我再检查一下设置文件,也许是一些奇怪的复制/粘贴错误。

1 个赞

嗯,我第一次启动导入器时,Ruby 脚本也抛出了回溯信息。现在我得到的只有:

root@import-import:/var/www/discourse# import_phpbb3.sh

ERROR 2002 (HY000): 无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2)

据我所见,MySQL 确实没有运行。

我成功重启了 MariaDB(不知为何它停掉了)。现在出现以下错误:

Traceback (most recent call last):
        9: from script/import_scripts/phpbb3.rb:13:in `<main>'
        8: from script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
        7: from script/import_scripts/phpbb3.rb:26:in `<module:PhpBB3>'
        6: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `create'
        5: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `new'
        4: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:15:in `initialize'
        3: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `create_database_client'
        2: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `new'
        1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect': Unknown database 'phpbb' (Mysql2::Error)

我不明白它为什么会抱怨数据库缺失——难道不应该导入该转储文件并创建该数据库吗?

设置中的数据库名称是否必须与转储文件中的名称完全一致?

编辑:我重新构建了一次导入并重新配置了所有内容,现在似乎可以正常工作了。老实说,我也不清楚之前到底出了什么问题。

你解决论坛迁移的问题了吗?

1 个赞

有没有可能跳过这个版本,直接让它在 phpBB 3.3 上运行?也许其中的某些内容会让实现比 3.2 更容易?

1 个赞

3.3 版本中似乎不太可能回退了导致 3.2 与旧脚本不兼容的更改。上方链接了一个支持 3.2 的分支,但如何使用该分支可能并不直观。它可能在 3.3 上有效,但也可能无效。

2 个赞

大家好,关于 3.2 迁移脚本有什么更新吗?

我想这个问题仍然存在吧?有人找到解决方法或解决方案了吗?

你是在说这个吗?

1 个赞

@nbianca 正在处理此事,因为我们正在为客户进行迁移。预计将在未来几周内合并。

7 个赞

我们一直渴望将论坛从 phpBB 迁移出去。不幸的是,当 phpBB 3.3 发布时,我们立即采用了它,希望能稍微减少垃圾信息。结果不仅收效甚微,而且看来我们还得等待更久才能获得 phpBB 3.3 的支持,是这样吗?

2 个赞

我还没确认,但推测 phpBB 3.3 的数据库结构与 3.2 基本相同,因此一旦 3.2 的导入脚本合并,为 3.3 添加支持应该很容易。

4 个赞

太好了,听到这个消息真高兴!谢谢。我目前正在用一个旧的 3.1 备份来测试 Discourse。现在正尝试将其设置好,以便熟悉整个流程。期待 3.3 版本支持上线!:grinning:

3 个赞

关于迁移脚本有什么最新消息吗?有时间表吗?我们可以等待,但我们正在尝试安排迁移计划,所以任何时间范围都会有所帮助 :smiley:

非常感谢你们的辛勤工作!

3 个赞

我们在 Upwork 上找到了一位开发者来迁移我们的系统。虽然不完美,但他做得不错,我们很高兴终于摆脱了 PHPBB。

5 个赞

看起来他们还在继续推进,这太好了。希望这次更新能支持最新版本的 phpBB3?我们目前正是用的这个版本。我们很想尽快迁移到 Discourse,原本还希望能在年底前完成。

2 个赞

我过去 14 年一直在用 phpBB 搭建论坛,非常喜欢这款软件!不过我觉得我有了一个新爱好:Discourse。

我想尽快用上 Discourse!希望这个帖子在 2021 年初还能更新相关功能,那将是非常棒的事😊

我要感谢团队完成的这项精美工作。

2 个赞

这完全取决于我们何时能在 phpBB 3.3 上执行迁移。不幸的是,如果没有可供运行的迁移数据库,我们无法对脚本进行可靠的更新。

我知道社区中有一些人非常乐意在时间紧迫的情况下协助您的迁移工作并对脚本进行更新。如果您想寻求此类帮助,请在 Marketplace 中发帖。出于规划考虑,迁移服务的费用可能高达 2000 美元,具体取决于所需的开发工作量。

3 个赞

支持导入 phpBB 3.2 的功能终于已 合并:tada:
这离不开团队的共同努力。:slight_smile:

对于等待 phpBB 3.3 支持的用户:目前暂无计划,因为我们尚未收到有客户请求导入该版本。您可以尝试在运行导入脚本之前编辑 这一行。它可能无需其他修改即可正常工作。欢迎随时反馈您的测试结果。

8 个赞

首先,我要感谢您提供这个教程。我尝试将我们旧的 phpBB 3.1.9 版本论坛导入到 Discourse,但遇到了以下错误:

从 phpBB 3.1.9 导入

正在创建用户
     3255 / 3255 (100.0%)  [224 项/分钟]  n]  
正在创建匿名用户
        1 / 1 (100.0%)  [0 项/分钟]  
正在创建群组
        7 / 7 (100.0%)  [2030359 项/分钟]  
正在创建用户群组

正在创建新分类
Traceback (most recent call last):
	7: from script/import_scripts/phpbb3.rb:13:in `\u003cmain\u003e'
	6: from script/import_scripts/phpbb3.rb:14:in `\u003cmodule:ImportScripts\u003e'
	5: from script/import_scripts/phpbb3.rb:33:in `\u003cmodule:PhpBB3\u003e'
	4: from /var/www/discourse/script/import_scripts/phpbb3/importer.rb:22:in `perform'
	3: from /var/www/discourse/script/import_scripts/base.rb:47:in `perform'
	2: from /var/www/discourse/script/import_scripts/phpbb3/importer.rb:36:in `execute'
	1: from /var/www/discourse/script/import_scripts/phpbb3/importer.rb:159:in `import_new_categories'
/var/www/discourse/script/import_scripts/base.rb:414:in `create_categories': undefined method `count' for nil:NilClass (NoMethodError)

在导入文件中,我使用外部 MySQL 数据库进行导入,并使用外部 PostgreSQL 数据库作为 Discourse 的数据库。

您有什么解决这个问题的建议吗?

1 个赞

我想这意味着查找分类的查询无法正常工作。你需要检查该查询及其返回结果,并修复它以正确获取数据。

1 个赞

谢谢你的回答,我现在正在尝试另一种方法。在 Docker 文件中,我已将 Git 分支修改为 stable,以避免最新的更新。我们拭目以待。

1 个赞