将数据从非生产复制到生产数据库

时间:2019-04-13 04:12:51

标签: sql database data-migration release-management dbmigrate

我们正在一个项目中,我们正在从旧的旧系统迁移到新系统。

因此,在上线之前,我们需要在旧系统数据库和非生产数据库之间进行数据比较(我们在非生产环境中启用了大约2周的新潜在生产流程)

在需要的时候,我们计划发布一个版本,在该版本中,我们将迁移到新系统,并复制在实际生产系统中非生产环境中拥有的2周数据。

现在,使用这种方法,手动插入脚本有可能会遇到问题,并且可能会损坏/删除数据。我感觉这是一种非常冒险的方法,因为我的生产数据库已经拥有大量数据。

是否有任何准则/想法将这样的系统更可靠地迁移到生产中?还是数据库插入脚本是我唯一的选择?

1 个答案:

答案 0 :(得分:0)

在进行大的更改之前,您应该始终备份数据库,以便在出现任何问题时可以回滚。如果您提前宣布,则用户应该期望系统停机。

我可以想到两种基本方法来完成此操作,尽管根据您所使用的RDBMS,您可能还有其他/更好的选择:

  1. 在源表上进行数据转储,然后将该表重新加载到新数据库中。然后运行INSERT INTO SELECT,将旧表中的行插入新表中。

  2. 在源表上进行数据转储,然后编辑文件以删除所有将清除表的语句,然后将数据直接加载到新表中。

无论哪种方式,请确保先进行备份,然后根据数据的大小,删除表上的索引并在大容量插入完成后重建它们可能会有所帮助(节省时间)

如果您可以告诉我您正在使用哪个RDBMS,我可以为您寻找更多选择。如果您感到紧张,可以随时在家中模仿工作环境并进行练习。