2012-03-03 54 views
2

我们目前正在将Source Control产品作为自动化开发人员部署中心的一部分进行审核。RedGate以编程方式将数据库链接到SVN

我们希望能够以编程方式将数据库链接到源代码管理,而不是依赖开发人员执行此操作。这可能与RedGate SVN?如果是这样,怎么样?

感谢 大卫

+0

出于兴趣,你是否按照你的希望设置了一切?您可能对我们最近发布的发布管理工具感兴趣:http://www.red-gate.com/delivery/deployment-manager/ – 2014-01-17 08:07:17

回答

2

你应该能够做你正在寻找与Red-Gate的SQL命令行比较专业。它可以编写数据库脚本并仅更改与数据库中已更改对象关联的文件。

但是,您正在考虑的过程似乎不是有益的。如果您自动检查数据库中的更改,则可能会在更改过程中捕获某些内容,导致源代码存储库毫无价值。相反,您应该让开发人员在完成更改后检查代码。

如果您担心他们忘记签入,请设置一个持续集成环境,从存储库重建数据库并对其执行测试。 这将确保所有对象都在源代码管理中。

如果您还没有自动测试数据库代码,请查看tSQLt。它是SQL Server的测试框架,可以使编写测试变得简单。它是开源的,你可以在这里得到它: tSQLt – The Database Unit Testing Framework for SQL Server。 关于如何编写测试以及如何在该网站上设置与tSQLt的持续集成也有很多信息。

+0

此链接可能有用它显示SQL Compare Pro和tSQLt正在使用作为TeamCity CI流程的一部分。 http://www.simple-talk.com/sql/sql-tools/using-sql-test-database-unit-testing-with-teamcity-continuous-integration/ – 2012-03-18 15:23:50

4

您可以使用像OffScale DataGrove这样的产品,它可以获取整个数据库的完整快照(数据&模式),并且很容易与退出的源代码控制集成。

只需打个钩标记数据库,当你提交,通过调用下面的命令:

datagrove tag -n=<svn-tag-id> 

如果你想自动获得匹配的数据库,当你检查出提交,使用SVN钩发出以下内容:

datagrove unload 
datagrove load -n=<svn-tag-id> 

DataGrove是易于使用和照顾管理数据库,所以你不必。现在可用的版本可以免费下载和使用。

+0

我无法下载链接的版本网站。我得到一个403错误 – 2013-01-25 19:48:29

+0

DataGrove下的许可证是什么?它是否是FOSS? – sampablokuper 2013-06-01 10:35:08

相关问题