是否有人为以下(潜在)情况提供了良好的解决方案?
使用数据库迁移工具(如fluentmigrator),我们添加一个本身完全有效的迁移,但会以一种在运行时才会被发现的方式中断其他一些数据库工件。例如,删除现有存储过程的主体中引用的列。
我需要能够在迁移后完整地验证生成的模式,这是最好和最有效的方法吗?
答案 0 :(得分:3)
理想情况下,使用自动化测试验证数据库对象会很不错,但这可能无法实现。
如果您正在寻找一种重新编译对象(存储过程,视图,函数)的方法,一个简单的解决方案就是创建一个唯一目的的迁移配置文件,或者删除并重新创建每个对象。
由于迁移,这不会检测对象中的语义错误,但它会告诉您是否更改或删除了导致依赖对象中的编译错误的列。
此配置文件可以临时执行,也可以作为持续集成和部署过程的一部分执行。