我们使用MS SQL Server和C#。我们的数据库在sourse控制下,我会告诉你一些我们实现的细节。我们实施了两项操作:再次在源代码管理下的数据库!
将数据库导出为纯文本文件。数据库模式文件: tables.sql relationships.sql views.sql ... 和表格内容的文件: 数据/ table1.txt 数据/ table2.txt ... 很容易检查数据库更改使用源代码控制日志,因为所有这些文件都是纯文本格式。 Imlementation基于来自命名空间Microsoft.SqlServer.Management.Smo的类。
从这个纯文本文件导入数据库。实现很简单 - 只需从* .sql文件执行sql语句,然后执行一堆插入。
所以我们有两个bat文件:create-test-databse.bat和export-test-database.bat。当开发人员需要新的测试数据库时,他只需执行bat-file并等待一分钟。每个需要数据库的功能测试都会创建一个新数据库,然后使用它并杀死它。但我应该说这不是很快的操作。 :(
工具,你用那么是什么把你的数据库源代码控制之下? 我的意思是,你如何实施操作例如“创建测试数据库”和“出口测试数据库”?