有哪种数据库重构工具?

时间:2008-08-26 09:55:45

标签: database refactoring

我正在寻找能够整合到我的CI工作流程的东西 我听说过dbdeploy,但我正在寻找其他的东西。我不喜欢dbdeploy的原因是我不想在我的服务器上安装java。

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

11 个答案:

答案 0 :(得分:16)

Here

之间的功能比较
  • 迁飞
  • Liquibase
  • C5-DB-迁移
  • dbdeploy
  • MyBatis的
  • MIGRATEdb
  • migrate4j
  • dbmaintain
  • AutoPatch

答案 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

可能值得一试。