【问题标题】:Is there a standalone alternative to activerecord-like database schema migrations?是否有类似 activerecord 的数据库模式迁移的独立替代方案?
【发布时间】:2010-09-26 14:45:11
【问题描述】:

对于类似 activerecord 的迁移,是否有任何独立的替代方案。类似于能够跟踪当前模式版本并应用未完成迁移的脚本。基本上,这些迁移文件可能只是一个普通的 SQL 文件,例如:

[时间戳]_create_users.sql reverse_[时间戳]_create_users.sql

实现语言不是很重要——它可以是通常安装/预安装在 *nix 系统上的任何东西。

我试图找出一些东西——但失败了。我当然可以在一两个小时内开发自己的,但我只是好奇——可能已经有一些不错的东西了。

【问题讨论】:

    标签: php python sql mysql shell


    【解决方案1】:

    试试http://freshmeat.net/projects/liquibase/

    如果您专门使用 MySQL,请查看:http://www.mysqldiff.org/ 我使用它来同步两个数据库的架构(因此您必须将更改应用到“主”)。

    还有http://phpmyversion.sourceforge.net/

    【讨论】:

    • 感谢 liquibase 的链接(即使它是 Java)
    • 尽管它是基于 Java 的,但它是我使用过的最好的独立模式更改集管理工具之一。此外,它易于集成到构建/配置管理系统中。
    【解决方案2】:
    【解决方案3】:

    不是 linux 选项,但可能会为某些人回答这个问题:

    SQLYog 可以为 MySQL 做到这一点 - 它是一个 Windows GUI 工具:

    http://www.webyog.com/en/

    它可以(除其他外)比较模式并使一个模式看起来像另一个模式,或者如果您想这样做,则可以生成执行此操作所需的 sql。我们用它来制作可用于升级的 sql 补丁文件。它比在开发中进行更改时手动维护文件更容易。

    【讨论】:

    • 我也是……但我们只有一个许可证 - 我们在楼下的服务器上有一台运行 Windows 的虚拟机,用于单一许可产品,它安装在上面,我们都可以通过远程桌面访问。所以无论如何都无所谓。
    【解决方案4】:

    查看AutoPatch

    【讨论】:

    • 谢谢!虽然是重量级的 Java 解决方案,但似乎和我需要的很接近 :)
    【解决方案5】:

    ezComponents 库有一个database schema component,可以比较和应用两个数据库(或一个数据库和一个文件)之间的架构差异。

    【讨论】:

      【解决方案6】:

      https://sourceforge.net/projects/migrations/

      这是一个用于管理基于从 Rails 迁移的 Active Record 对数据库模式进行结构更改的工具。具有多种模式交互、值的运行时替换、脚本生成等功能。

      此外,它还具有命令行界面和图形界面。 Also 正在积极开发中,我们公司已经使用它一年多了,它极大地改善了每个人的生活,从开发到 dbas,再到运营,再到简化的部署和回滚。管理层现在认为数据库更改是理所当然的(有时不是一件好事),因为有了这个工具,它现在变得如此自动化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-01
        • 2014-07-21
        • 2018-04-07
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        • 2023-03-26
        相关资源
        最近更新 更多