我想要实现的是运行单元测试(通过NUnit)来比较两个数据库的模式。如果数据库的模式相同,则测试通过,如果不是,则测试失败。
所以看来我可以向MsBuild发出这样做:
http://blogs.msdn.com/b/ssdt/archive/2014/07/15/msbuild-support-for-schema-compare-is-available.aspx
或解析dacpac文件:
Can I automatically generate a change script using a .scmp file?
但是我希望有一些比上述方法更简单的方法来实现这个目标吗?目前我没有访问CI来实现这一目标,所以现在它是基于单元测试的。
答案 0 :(得分:1)
前段时间我有类似的需求,但实际上我需要的东西不仅要比较两种模式,还要自动执行所有更改以使它们相等。我找不到满足我需求的东西,所以我写了this tool。我几个月来一直在生产和开发环境中使用它。
我相信你可以使用parilis做你想做的事情:
var database1 = new DatabaseDescription(connectionInfo1);
var database2 = new DatabaseDescription(connectionInfo2);
var parilis = new Parilis(database1, database2);
Assert.IsTrue(parilis.AreAlreadyEqual();)