你如何(单位)测试数据库架构?

Jed*_*dja 10 .net c# sql-server testing unit-testing

当有许多人在一个项目上工作时,所有人都可以改变数据库模式,那么最简单的单元测试/测试/验证方法是什么?到目前为止我们的主要建议是为每个表编写测试以验证列名,约束等.

有没有其他人做过类似/更简单的事情?我们正在使用C#和SQL Server,如果这有任何真正的区别.

更新:

  • 我们正在研究的项目部分是使用SSIS包来完成大部分工作,因此很少有C#代码可以再次编写单元测试.
  • 用于创建表/存储过程的代码分布在SQL文件中.由于构建系统,我们也可以维护一个单独的VS DB项目文件,但我不确定这将如何帮助我们验证架构.

Chr*_*son 4

一种可能的答案是使用 Visual Studio for Database 开发人员,并将架构与其余代码一起保留在源代码控制中。这使您可以看到差异,并了解谁更改了什么的历史记录。

或者,您可以使用 SQLCompare 等工具来查看一个数据库相对于另一个数据库的修改内容。