我们目前正在将Source Control产品作为自动化开发人员部署中心的一部分进行审核。RedGate以编程方式将数据库链接到SVN
我们希望能够以编程方式将数据库链接到源代码管理,而不是依赖开发人员执行此操作。这可能与RedGate SVN?如果是这样,怎么样?
感谢 大卫
我们目前正在将Source Control产品作为自动化开发人员部署中心的一部分进行审核。RedGate以编程方式将数据库链接到SVN
我们希望能够以编程方式将数据库链接到源代码管理,而不是依赖开发人员执行此操作。这可能与RedGate SVN?如果是这样,怎么样?
感谢 大卫
你应该能够做你正在寻找与Red-Gate的SQL命令行比较专业。它可以编写数据库脚本并仅更改与数据库中已更改对象关联的文件。
但是,您正在考虑的过程似乎不是有益的。如果您自动检查数据库中的更改,则可能会在更改过程中捕获某些内容,导致源代码存储库毫无价值。相反,您应该让开发人员在完成更改后检查代码。
如果您担心他们忘记签入,请设置一个持续集成环境,从存储库重建数据库并对其执行测试。 这将确保所有对象都在源代码管理中。
如果您还没有自动测试数据库代码,请查看tSQLt。它是SQL Server的测试框架,可以使编写测试变得简单。它是开源的,你可以在这里得到它: tSQLt – The Database Unit Testing Framework for SQL Server。 关于如何编写测试以及如何在该网站上设置与tSQLt的持续集成也有很多信息。
此链接可能有用它显示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
您可以使用像OffScale DataGrove这样的产品,它可以获取整个数据库的完整快照(数据&模式),并且很容易与退出的源代码控制集成。
只需打个钩标记数据库,当你提交,通过调用下面的命令:
datagrove tag -n=<svn-tag-id>
如果你想自动获得匹配的数据库,当你检查出提交,使用SVN钩发出以下内容:
datagrove unload
datagrove load -n=<svn-tag-id>
DataGrove是易于使用和照顾管理数据库,所以你不必。现在可用的版本可以免费下载和使用。
我无法下载链接的版本网站。我得到一个403错误 – 2013-01-25 19:48:29
DataGrove下的许可证是什么?它是否是FOSS? – sampablokuper 2013-06-01 10:35:08
出于兴趣,你是否按照你的希望设置了一切?您可能对我们最近发布的发布管理工具感兴趣:http://www.red-gate.com/delivery/deployment-manager/ – 2014-01-17 08:07:17