【问题标题】:Copying data from non-production to production database将数据从非生产数据库复制到生产数据库
【发布时间】:2019-09-03 19:50:15
【问题描述】:

我们正在开展一个项目,我们正在从旧的遗留系统迁移到新系统。

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

当我们感到舒服的时候,我们计划发布一个版本,我们将迁移到新系统,我们将复制我们在实际生产系统中非生产环境中的 2 周数据。

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

是否有任何指南/想法可以更可靠地将此类系统迁移到生产环境?还是数据库插入脚本是我唯一的选择?

【问题讨论】:

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


【解决方案1】:

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

我可以想到两种基本方法来做到这一点,但根据您使用的 RDBMS,您可能有其他/更好的选择:

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

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

无论哪种方式,请务必先进行备份,根据数据的大小,删除表上的索引并在批量插入完成后重建它们可能是有益的(节省时间) .

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多