3

有没有人对以下(潜在)情况有很好的解决方案?

使用 fluentmigrator 之类的数据库迁移工具,我们添加了一个迁移,该迁移本身是完全有效的,但会破坏其他一些数据库工件,直到运行时才会被发现。例如,删除在现有存储过程的正文中引用的列。

我需要能够在迁移后完整地验证生成的模式,最好和最有效的方法是什么?

4

1 回答 1

3

理想情况下,最好有自动化测试来验证您的数据库对象,但这可能无法实现。

如果您正在寻找一种重新编译对象(存储过程、视图、函数)的方法,一个简单的解决方案是创建一个具有唯一目的的迁移配置文件,或者删除并重新创建这些对象中的每一个。

这不会检测到迁移导致的对象中的语义错误,但它会告诉您是否更改或删除了导致依赖对象编译错误的列。

此配置文件可以临时执行,也可以作为持续集成和部署过程的一部分执行。

于 2012-10-27T04:21:35.687 回答