我正在寻找能够整合到我的CI工作流程的东西 我听说过dbdeploy,但我正在寻找其他的东西。我不喜欢dbdeploy的原因是我不想在我的服务器上安装java。
我当然希望解决方案不涉及将一些shell脚本串在一起。
答案 0 :(得分:16)
Here是
之间的功能比较答案 1 :(得分:5)
Redgate可能会做你需要的一切。虽然很贵。
编辑 - 具体来说:http://www.red-gate.com/products/sql-development/readyroll/
答案 2 :(得分:5)
这不是一个工具,但是Ambler和Sadalage的书,Refactoring Databases: Evolutionary Database Design非常好。
答案 3 :(得分:4)
您提到您喜欢dbDeploy以及您不想在服务器上安装java的事实。你知道这个工具的the .NET port吗?
我最近在团队中使用了这个,我们对它非常满意。在我们的例子中,我们的目标是SQL 2000,但它可以很容易地配置为针对其他数据库平台运行,包括MySQL。当然,它需要您在服务器上安装.NET Framework ...如果这是一个可接受的先决条件而不是Java运行时。
答案 4 :(得分:2)
可能不是你的情况,但如果你决定使用Java,请看liquibase
答案 5 :(得分:2)
对那些对liquibase感兴趣但不喜欢xml迁移的人。 看看groovy-liquibase,一个支持groovy迁移的插件
Liquibase结构很好,但是错过了xml迁移。这个插件解决了这个问题
答案 6 :(得分:1)
是的,Redgate很神奇。并不是因为它提供的东西而且非常昂贵。
答案 7 :(得分:1)
尝试使用Agile DBRIRE进行持续集成工作流程。它很容易设置并允许从Dev DB生成测试数据库。此外,它还允许为暂存和生产生成增量数据库更新。该工具可以比较DEV和Staging / Production DB,并生成元数据和数据更新SQL脚本。该工具是免费的。
答案 8 :(得分:0)
Visual Studio Team系统(数据库版)进行了一些重构。
我阅读了重构数据库书。我认为这很有用。
但是在软件开发中,您构建测试以便安全重构。他们没有涉及“重构数据库”一书中的测试,这是我对它的极大失望。
答案 9 :(得分:0)
我认为这些工具非常好,但出于我的目的,我已经编写了一个自定义的工具。造成这种情况的主要原因是因为我正在使用SQL Server Compact 3.5数据库,所以列出的工具都没有。
当然它没有Redgate的工具那么强大,但是你可以非常快速地获得最重要的功能。
它能够重命名所有类型的数据库对象并将列迁移到其他表,并为2个数据库创建diff脚本。
答案 10 :(得分:0)
Refactoring Databases的一个重要部分是迁移部分。 不需要EF或Java的.NET迁移解决方案是Rob Reynold的Roundhouse
可能值得一试。