Sql server 数据库再次处于源代码控制之下!

Sql server 数据库再次处于源代码控制之下!,sql-server,version-control,testing,Sql Server,Version Control,Testing,我们使用MS SQL Server和C#。我们的数据库在资源控制之下,我将告诉您我们实现的一些细节。我们实施了两项行动: 将数据库导出为纯文本文件。数据库架构文件: tables.sql 关系.sql views.sql ... 和表目录文件: 数据/表格1.txt 数据/表格2.txt ... 使用源代码管理日志查看数据库更改很容易,因为所有这些文件都是纯文本格式的。 IMemmentation基于命名空间Microsoft.SqlServer.Management.Smo中的类 从此纯文本文

我们使用MS SQL Server和C#。我们的数据库在资源控制之下,我将告诉您我们实现的一些细节。我们实施了两项行动:

  • 将数据库导出为纯文本文件。数据库架构文件: tables.sql 关系.sql views.sql ... 和表目录文件: 数据/表格1.txt 数据/表格2.txt ... 使用源代码管理日志查看数据库更改很容易,因为所有这些文件都是纯文本格式的。 IMemmentation基于命名空间Microsoft.SqlServer.Management.Smo中的类

  • 从此纯文本文件导入数据库。实现是strightforward—只需从*.sql文件执行sql语句,然后执行一系列插入

  • 所以我们有两个bat文件:create-test-database.bat和export-test-database.bat。当开发人员需要一个新的测试数据库时,他只需执行bat文件并等待一分钟。 每个需要数据库的功能测试都会创建一个新数据库,使用它,然后终止它。但我得说,这不是很快的操作(

    那么,您使用什么工具将数据库置于源代码控制之下呢?
    我的意思是如何实现“创建测试数据库”和“导出测试数据库”操作例如?

    我们为数据库专业人员使用Visual Studio。不要离开家就不使用它。

    我使用VST for DB Pros。您将它指向SQL server,它会分析您的数据库并为您创建单个文件。您甚至可以让它为您生成测试数据。下一版本将包括对第三方提供商的支持(想想Oracle、MySQL和DB2)


    这里真正伟大的功能是验证。我们发现我们的数据库的部分被完全破坏了(它们是残留的,代码不再使用)。它基本上可以按需部署您的数据库。

    我想您在这里要问两个问题。第一个问题是如何使您的数据库受源代码管理。您的解决方案很有趣,我还使用了Visual Studio Team Edition for database Professionals(以下是我编写的关于使用它的教程)

    第二个问题是如何为集成测试设置数据库。设置和拆除整个数据库似乎有点过火。有几种解决方案。我使用过。Roy Osherove不久前发布了一个名为的工具,我没有使用过。当然,您可以随时设置测试来执行tr在设置中启动操作,并在拆卸过程中回滚