【问题标题】:What kind of database refactoring tools are there?有哪些数据库重构工具?
【发布时间】:2008-08-26 09:55:44
【问题描述】:

我正在寻找可以集成到我的 CI 工作流程中的东西。
我听说过dbdeploy,但我正在寻找别的东西。我不喜欢 dbdeploy 的原因是我不想在我的服务器上安装 java。

我当然希望该解决方案不涉及将一些 shell 脚本串在一起。

【问题讨论】:

    标签: database refactoring


    【解决方案1】:

    Here特征比较之间的

    • 飞行路线
    • Liquibase
    • c5-db-迁移
    • dbdeploy
    • mybatis
    • MIGRATEdb
    • migrate4j
    • 数据库维护
    • 自动补丁

    【讨论】:

    • 是我,还是这些 all Java 工具?我(和 OP)不想部署 Java 堆栈。
    • 这也不是一个完整或公正的特征比较。
    • 欢迎在 github.com/flyway/flywaydb.org 上对问题跟踪器提出改进/更正建议
    【解决方案2】:

    这不是一个工具,但 Ambler 和 Sadalage 的书,Refactoring Databases: Evolutionary Database Design 相当不错。

    【讨论】:

      【解决方案3】:

      Redgate 可能会做你需要的一切。不过很贵。

      编辑 - 具体来说:http://www.red-gate.com/products/sql-development/readyroll/

      【讨论】:

      • Redgate 就像“他们”所说的那样,是炸弹。
      【解决方案4】:

      您提到您喜欢 dbDeploy 并且您不想在您的服务器上安装 java。你知道这个工具的the .NET port 吗?

      我最近在一个团队中使用了它,我们对此非常满意。在我们的例子中,我们的目标是 SQL 2000,但它可以很容易地配置为在其他数据库平台上运行,包括 MySQL。当然,它需要您在服务器上安装 .NET Framework……如果这是一个可接受的先决条件,而不是 java 运行时。

      【讨论】:

        【解决方案5】:

        对于那些对 liquibase 感兴趣但不喜欢 xml 迁移的人。 看看groovy-liquibase,一个支持groovy迁移的插件

        Liquibase 在结构上很棒,但在 xml 迁移中却失败了。这个插件解决了这个问题

        【讨论】:

          【解决方案6】:

          这可能不是你的情况,但如果你决定使用 Java,请查看 liquibase

          【讨论】:

            【解决方案7】:

            是的,Redgate 很神奇。而且它提供的东西并不那么昂贵。

            【讨论】:

              【解决方案8】:

              尝试Agile DBRIRE 进行持续集成工作流程。它很容易设置并允许从开发数据库生成测试数据库。它还允许为暂存和生产生成增量数据库更新。该工具可以比较 DEV 和 Staging/Production DB 并生成元数据和数据更新 SQL 脚本。该工具是免费的。

              【讨论】:

                【解决方案9】:

                Visual Studio Team system(数据库版)做了一些重构。

                我阅读了重构数据库这本书。我认为这很有帮助。

                但在软件开发中,您构建测试以便安全地重构。他们没有触及 Refactoring Databases 书中的测试,这让我非常失望。

                【讨论】:

                  【解决方案10】:

                  我认为这些工具非常好,但出于我的目的,我自己编写了一个自定义工具。造成这种情况的主要原因是因为我正在使用 SQL Server Compact 3.5 数据库,所以列出的工具都不起作用。

                  当然,它不如 Redgate 的工具强大,但您可以非常快速地获得最重要的功能。

                  它能够重命名各种数据库对象并将列迁移到其他表,并为 2 个数据库创建差异脚本。

                  【讨论】:

                    【解决方案11】:

                    Refactoring Databases 的一个重要部分是迁移部分。 不需要 EF 或 Java 的 .NET 迁移解决方案是 Rob Reynold 的 Roundhouse

                    可能值得一试。

                    【讨论】:

                      猜你喜欢
                      • 2012-08-25
                      • 2010-09-12
                      • 1970-01-01
                      • 2012-03-03
                      • 2016-08-31
                      • 1970-01-01
                      • 2010-09-06
                      • 2010-10-05
                      • 2013-01-12
                      相关资源
                      最近更新 更多