数据库迁移后验证架构

3

有没有人对以下(可能出现的)情况有好的解决方案?

使用数据库迁移工具(例如fluentmigrator),我们添加一个迁移,它本身是完全有效的,但会以一种在运行时无法发现的方式破坏其他数据库工件。例如,删除在现有存储过程主体中引用的列。

我需要能够在迁移后验证整个结果模式,最好和最有效的方法是什么?

1个回答

3
理想情况下,拥有自动化测试来验证数据库对象是非常好的,但这可能是难以实现的。如果您正在寻找重新编译对象(存储过程、视图、函数)的方法,一个简单的解决方案是创建一个迁移配置文件,其唯一目的是删除和重新创建每个对象。虽然这不能检测到由于迁移而导致对象中的语义错误,但它可以告诉您是否更改或删除了某个列,从而导致依赖对象的编译错误。此配置文件可以按需执行,也可以作为持续集成和部署流程的一部分执行。

运作得非常好。Fluent Migrator 对我们的项目非常有帮助! - Con Kouroupis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接