我有一个大型 phpbb 数据库需要迁移。我想在旧网站保持运行的情况下完成大部分迁移工作。然后,在迁移周末,重新加载数据库后重新运行迁移脚本。这将使迁移周末仅导入几千条用户帖子,而不是 300,000 条。
- 这是可行的吗?迁移脚本是否在 MySQL 数据库之外维护了重启点?
- 有没有什么简单的方法可以让脚本上传新的数据库转储而不重置之前的工作或重复它?
欢迎任何最佳实践或建议。
我有一个大型 phpbb 数据库需要迁移。我想在旧网站保持运行的情况下完成大部分迁移工作。然后,在迁移周末,重新加载数据库后重新运行迁移脚本。这将使迁移周末仅导入几千条用户帖子,而不是 300,000 条。
欢迎任何最佳实践或建议。
是的,phpBB 导入脚本支持这一点。在加载更新后的 SQL 数据库后,只需重新运行脚本即可。它将跳过现有内容,并将缺失的内容添加到 Discourse。
感谢您的回复。关于“在加载更新后的 SQL 数据库后”的回复,需要澄清一下。
这是否意味着导入脚本会自动识别新的转储文件并更新数据库?还是说我需要手动刷新数据库以更新数据?
您需要从 MySQL 中删除旧数据库,将最新的 sql 文件导入为新数据库,然后运行导入脚本,该脚本将加载最新的数据库。
脚本将遍历所有数据库内容,检测 Discourse 中是否已存在某些内容(用户、帖子等),并且将仅导入新数据。
感谢您的澄清。
@Canapin 感谢您关于迁移的说明,只是想问一下,如果记录从表中被删除(例如删除了产品或产品选项)该怎么办?
脚本会更新表中的那些行吗?
不,它也不会检测到帖子和用户的更新(编辑)。
提供一个更新。我分两步执行了我的 phpBB 迁移。
在我的当前 phpBB 系统仍处于生产状态时,我执行了以下操作:
这使我能够迁移大部分数据并使用真实数据进行所有测试。在验证数据并设置好新的 Discourse 系统后。我继续进行第二次迁移活动。
这次我关闭了我的 phpBB 论坛。
我第二次运行了导入脚本:
我运行了导入脚本。由于该过程只需要导入几周的数据,因此脚本花费的时间不到 15 分钟。
一切运行顺利。
如果您有大型 phpBB 论坛需要迁移,我强烈推荐采用分两阶段的方法进行迁移。