Mysql 如何使用折叠的rails迁移来迁移生产数据

Mysql 如何使用折叠的rails迁移来迁移生产数据,mysql,ruby-on-rails,ruby,migration,Mysql,Ruby On Rails,Ruby,Migration,将旧数据转换成新的数据库结构的潜在策略是什么?我们正在考虑的一个策略是编写一些ruby,它在每个表的基础上执行一些sql。由于这是一项一次性任务(我在这里预先设想了一些事情),您可能希望从新迁移中创建两个数据库,一个旧数据库,一个新数据库。并编写一个ruby脚本,根据需要将数据从旧数据库复制到新数据库 它将有助于保留旧数据库,从而减少与创建新数据库和从转储重新导入数据相关的停机时间。在数据迁移之前,您可以使用旧代码,在数据迁移到新数据库完成后,更新代码并重新启动服务器。瞧!大量数据迁移,无需停机

将旧数据转换成新的数据库结构的潜在策略是什么?我们正在考虑的一个策略是编写一些ruby,它在每个表的基础上执行一些sql。

由于这是一项一次性任务(我在这里预先设想了一些事情),您可能希望从新迁移中创建两个数据库,一个旧数据库,一个新数据库。并编写一个ruby脚本,根据需要将数据从旧数据库复制到新数据库

它将有助于保留旧数据库,从而减少与创建新数据库和从转储重新导入数据相关的停机时间。在数据迁移之前,您可以使用旧代码,在数据迁移到新数据库完成后,更新代码并重新启动服务器。瞧!大量数据迁移,无需停机!:)

总结一下我的建议:

  • 保留旧数据库,不要重新创建和重新导入它
  • Craete从新迁移中创建新数据库
  • 创建并运行ruby脚本,将数据从旧数据库复制到新数据库
  • 更新适用于新数据库的应用程序代码
  • 重新启动服务器以启动新数据库