有哪些数据库重构工具?
我正在寻找可以整合到我的CI工作流程中的东西。
我听说过dbdeploy,但正在寻找其他东西。我不喜欢dbdeploy的原因是我不想在服务器上安装Java。
我当然希望解决方案不涉及将一些shell脚本串在一起。
解决方案
回答
Redgate可能会做我们需要的一切。虽然很贵。
具体编辑:http://www.red-gate.com/products/sql-development/readyroll/
回答
是的,Redgate是魔术。而且它提供的东西并不昂贵。
回答
它不是一种工具,但是Ambler和Sadalage的书《重构数据库:进化数据库设计》相当不错。
回答
Visual Studio Team系统(数据库版本)进行了一些重构。
我读了《重构数据库》一书。我认为这很有帮助。
但是在软件开发人员中,我们可以构建测试,以便安全地进行重构。他们没有涉及"重构数据库"书中的测试,这让我非常失望。
回答
我认为这些工具非常好,但是出于我的目的,我编写了一个自定义工具。这样做的主要原因是因为我正在使用SQL Server Compact 3.5数据库,因此所列工具均无效。
当然,它不如Redgate的工具强大,但是我们可以很快获得最重要的功能。
它能够重命名各种数据库对象并将列迁移到其他表,并为2个数据库创建差异脚本。
回答
我们提到自己喜欢dbDeploy,并且不想在服务器上安装Java。我们知道此工具的.NET端口吗?
我最近在一个团队中使用了此工具,对此我们感到非常满意。在我们的案例中,我们的目标是SQL 2000,但是可以很容易地将其配置为与其他数据库平台(包括MySQL)一起运行。当然,如果与Java运行时相比,这是可以接受的前提条件,则需要在服务器上安装.NET Framework。
回答
可能不是情况,但是如果我们决定使用Java,请看看liquibase
回答
尝试使用Agile DBRIRE进行持续集成工作流程。它易于设置,并允许从Dev DB生成测试数据库。它还允许为登台和生产生成增量数据库更新。该工具可以比较DEV和Staging / Production DB并生成元数据和数据更新SQL脚本。该工具是免费的。