我们的数据库设计得很糟糕(我们继承了它)。我已将架构重新设计为可用且可维护的东西。相当多的表和列已被删除,许多列已被移动,并且大多数表和列已被重命名。一些数据类型也已更改。
我已经从我们的网络应用程序中提取了所有查询,并开始重写它们。我们认为,我们的 DBA 能够将旧数据迁移到新模式。为了确保我们需要通过将旧结果与新结果进行比较来测试每个查询。
我们如何测试这样的大规模迁移?我需要能够指定参数,并将旧表/列映射到新表/列。由于有数百个查询,这是一项艰巨的任务。我可以自己写一些东西,但我已经对我的时间有很多要求,所以最好使用现有的工具。
Thanks!
我必须这样做......而且这很容易,因为我重写了整个应用程序;)
许多查询听起来像是选择、插入、更新等基本操作,但尚未在函数中进行抽象 - 也许这可以帮助在适应之前清理混乱。
现在进行测试:
您需要一个测试脚本
a) 运行所有查询
b) 存储所有选择的输出以进行比较
备份您的测试数据库@状态0,清除一般查询日志
使用所有删除、选择和更新来玩转您的应用程序,
复制粘贴该日志,获取每个选择并在其前面加上“创建表 temptable_xyz”(或者当然 SELECT 到 temptable_xyz ..取决于可用的语法)
在迁移脚本后在两个数据库上运行 test db @ state 0 和 test db @ state 0
compare
如果您可以确保您使用了每个应用程序中的所有功能,那么这应该可以做到。
GL - 没有什么比让现有的东西变得更好更好的了;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)