如果您计划迁移的数据当前不正确,则无论是否进行迁移,都需要对其进行修复。坏数据=无用数据。
迁移是有风险的,这是事实。但是每个主要的IT项目也是如此。有很多方法可以降低风险,因此一定要在迁移中预先计划好它们。
首先,您应该始终有办法回到现在的系统。第二次迁移应在仅为迁移而设置的测试服务器上进行。不能先进行测试就进行迁移是愚蠢的。第三,所有用于迁移的代码都应在源代码控制中。
第四,在开始迁移之前,您需要需求和测试计划。您需要知道,如果旧系统中有1,293,687条记录,那么新系统中也有相同记录,或者您知道它们去了哪里(也许到了异常表中)。如果要规范化非规范化方案,则需要在开始之前计算最终应存储多少条记录,然后进行检查。您需要说明从一个系统到另一个系统的映射是什么的文档。这将帮助您的质量检查人员检查数据是否正确。
您需要确定如何处理当前的不良数据。可以清除的内容,在必填字段中需要显示“未知”的值,应该扔到异常表中的内容,需要一组用户手动干预的内容(确定这两个人是否是真正的重复者或例如,该实践中是否有两位医生的名字相同,并且如果这是重复的,则当两个记录不同时可以选择哪些数据,等等。
成功迁移的关键是计划。我发现计划(包括编写测试用例和单元测试)通常比实际开发花费更多的时间。
成功进行数据迁移的下一个关键是质量保证。这不是在发布前一天就交给质量检查小组的项目。当质量检查人员说存在问题时,这不是要启动的项目。
成功迁移的另一个关键是在原始系统仍在运行时部署大多数数据并对其进行测试。如果要移动大量记录,这可能会很耗时,并且会发生新的更改。因此,在迁移开始之后,您的流程也必须能够提取数据更改。例如,SQL Server具有一个名为“更改数据捕获”的功能,可以对此提供帮助。您可以备份原始系统并同时打开更改数据捕获。然后,您可以将备份重新分配到迁移服务器,测试迁移,获取大部分已加载的数据,然后只需加载已更改的记录。迁移最终记录时,请关闭源系统,直到迁移完成。这是提前迁移大多数记录的原因之一,因此应用程序停机的时间最少。选择好您的迁移时间,不要在他们应该处理薪水或发出W2的那一天关闭薪水系统。并在使用时间少的时候做到这一点。如果您有多个客户端,则可以考虑先迁移一个,然后再进行其他操作,确保一切都很好。如果有问题,回滚一个客户的数据要比10000容易得多。但是,如果要这样做,请仔细计划。如果有问题,则s的数据大于10000。但是,如果要这样做,请仔细计划。如果有问题,则s的数据大于10000。但是,如果要这样做,请仔细计划。
如果迁移涉及新的用户界面,请让实际用户使用它作为迁移测试的一部分。然后在上线之前培训其他用户(但上线不到一周,否则他们会忘记)。让参与测试的用户帮助设计培训,他们知道他们有什么问题,人们需要以什么顺序知道什么。获取他们的输入,将其设为必填字段,因为您认为如果用户在输入记录时通常没有该数据,那将无济于事。他们只会将垃圾放入新要求的字段中,因为否则将无法获取数据。
查看当前数据出了什么问题,可以在应用程序中添加外键,约束,触发器,业务规则,默认值等,以免将来造成不良后果吗?当您清除不良数据时,还需要创建一种方法来避免将来出现类似的不良数据。分析为什么分配不良数据并修复设计中的漏洞。