我正在寻找可以集成到我的 CI 工作流程中的东西。
我听说过dbdeploy但我正在寻找别的东西。我不喜欢 dbdeploy 的原因是我不想在我的服务器上安装 java。
我当然希望该解决方案不涉及将一些 shell 脚本串在一起。
我正在寻找可以集成到我的 CI 工作流程中的东西。
我听说过dbdeploy但我正在寻找别的东西。我不喜欢 dbdeploy 的原因是我不想在我的服务器上安装 java。
我当然希望该解决方案不涉及将一些 shell 脚本串在一起。
以下是两者之间的功能比较
Redgate可能会做你需要的一切。虽然很贵。
编辑 - 具体来说:http ://www.red-gate.com/products/sql-development/readyroll/
它不是一个工具,但 Ambler 和 Sadalage 的书《重构数据库:进化数据库设计》相当不错。
您提到您喜欢 dbDeploy 以及您不想在服务器上安装 java 的事实。你知道这个工具 的 .NET 端口吗?
我最近和一个团队一起使用了它,我们对此非常满意。在我们的例子中,我们的目标是 SQL 2000,但它可以很容易地配置为在其他数据库平台上运行,包括 MySQL。当然,它需要您在服务器上安装 .NET Framework……如果这是一个可接受的先决条件,而不是 java 运行时。
Possible it's not your case, but if you decide to use Java take a look at liquibase
对于那些对 liquibase 感兴趣但不喜欢 xml 迁移的人。看看groovy-liquibase,一个支持 groovy 迁移的插件
Liquibase 的结构很棒,但缺少 xml 迁移。这个插件解决了这个问题
是的,Redgate 很神奇。而且它提供的东西并不那么昂贵。
尝试使用 Agile DBRIRE进行持续集成工作流程。它很容易设置并允许从 Dev DB 生成测试 db。它还允许为暂存和生产生成增量数据库更新。该工具可以比较 DEV 和 Staging/Production DB 并生成元数据和数据更新 SQL 脚本。该工具是免费的。
Visual Studio Team 系统(数据库版)做了一些重构。
我读了重构数据库这本书。我认为这很有帮助。
但是在软件开发中,您构建测试以便安全地重构。他们没有触及 Refactoring Databases 书中的测试,这让我非常失望。
我认为这些工具非常好,但出于我的目的,我自己编写了一个自定义工具。造成这种情况的主要原因是因为我正在使用 SQL Server Compact 3.5 数据库,所以列出的工具都没有工作。
当然,它不如 Redgate 的工具强大,但您可以非常快速地获得最重要的功能。
它能够重命名各种数据库对象并将列迁移到其他表,并为 2 个数据库创建差异脚本。
重构数据库的一个重要部分是迁移部分。不需要 EF 或 Java 的 .NET 迁移解决方案是 Rob Reynold 的Roundhouse
可能值得一试。