SQL 通过 NUnit 比较服务器架构并使用 scmp 文件

SQL Server Schema Compare via NUnit and use of scmp file

我想要实现的是进行单元测试 运行(通过 NUnit)来比较两个数据库的模式。如果数据库的模式相同则测试通过,否则测试失败。

看来我可以 shell 到 MsBuild 来执行此操作:

http://blogs.msdn.com/b/ssdt/archive/2014/07/15/msbuild-support-for-schema-compare-is-available.aspx

或解析dacpac文件:

但是我希望有比上述方法更简单的方法来实现这个目标吗?目前我无法访问 CI 来实现这一点,所以现在它是基于单元测试的。

前段时间我也有类似的需求,但实际上我需要的东西不仅可以比较两个模式,还可以自动执行所有更改以使它们相等。没有找到符合我需求的东西,所以我写了this tool。我已经在生产和开发环境中使用它几个月了。

我相信你可以很简单地使用parilis来做你想做的事:

var database1 = new DatabaseDescription(connectionInfo1);
var database2 = new DatabaseDescription(connectionInfo2);

var parilis = new Parilis(database1, database2);
Assert.IsTrue(parilis.AreAlreadyEqual();)