是否有类似于activerecord的数据库模式迁移的独立替代方案?

时间:2008-12-12 09:46:32

标签: php python sql mysql shell

是否有类似于activerecord类迁移的独立替代方法。像脚本一样能够跟踪当前架构版本并应用未完成的迁移。基本上,这些迁移文件可能只是一个普通的SQL文件,如:

[timestamp]_create_users.sql
reverse_[timestamp]_create_users.sql

实施语言不是很重要 - 它可能是通常在* nix系统上安装/预安装的任何内容。

我试图找到一些东西 - 但失败了。我一定能在一两个小时内发展自己,但我只是好奇 - 可能已经很好了。

6 个答案:

答案 0 :(得分:2)

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

如果您专门使用MySQL,请查看:http://www.mysqldiff.org/ 我用它来同步两个数据库的模式(所以你必须将更改应用到“master”)。

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

答案 1 :(得分:1)

答案 2 :(得分:0)

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

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

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

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

答案 3 :(得分:0)

查看AutoPatch

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

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