只是一个快速更新。感谢一个非常敬业的小团队的辛勤工作,我们几乎完成了。
从下周一开始,我们将在暂存服务器上进行几次测试运行,但结果很有希望。
这是我们拥有的总数:
大小方面,vbulletin3格式的数据库大约为8GB。
从本地机器远程连接到源数据库的测试运行大约需要6小时才能完成。
该脚本迁移所有论坛/子论坛,并将它们翻译成类别和子类别。需要三级子类别,因为我们有一个非常老式的论坛,并且那里托管的一些“氏族”论坛嵌套得非常非常深。
三级以上的任何内容都会自动转换为标签,保持其在父/子子论坛关系方面的层次结构(使用标签组)。
任何设置了自定义权限(例如只读)、仅限版主/管理员访问或仅通过密码隐藏访问的子论坛,都将被迁移为“仅限员工访问”。最终将有大约十几个这样的子论坛,我们可以让员工手动为正确的用户组重新启用它们。
用户、用户组和私人消息也会被迁移。私人消息的迁移方式是“discourse方式”,这意味着它将采用discourse使用的线程组织方式,而不是像简单的1:1数据库迁移那样(数据库结构真的很蠢)看到一个包含1条消息的N个主题。
该脚本还已经完成了所有帖子的“烹饪”,以加快处理速度。
主题和帖子迁移是通过多个并行连接完成的,并且将始终尝试使用源数据库允许的最大连接数。
我们将看看在小型2vcore/4gb RAM机器上的平均耗时,但它已经比当前(未完成的)可用的批量迁移脚本快了好几个数量级。
几个部分可以进行更好的优化,而且很多都是为我们的论坛量身定制的(我们甚至有json映射来重新组织很多论坛结构,使其不那么混乱),所以我怀疑在不进行一些调整的情况下,其他人可以将其提取并使用,但我们将在迁移完成后内部讨论是否要将源代码库公开。
