我们将mysql架构文件保存在源代码管理中。 我们保留当前的 base 和 delta 文件,每当发布新版本时,我们会获取delta文件,将它们合并到base中,清除它们,并为其创建适当的迁移脚本生产数据。
我们有足够好的脚本来完成这项工作。我的问题是 - 是否有第三方可以用来支持这个过程,而不是我们自己开发的脚本?
注意 - 我正在寻找一种不需要我改变整个开发过程的工具。如果我正在开发Ruby / Java / .Net应用程序,该工具应该不在乎。
答案 0 :(得分:2)
这是Liquibase的作用吗?不是亲自使用它,但我认为公司的其他部门之一是。虽然对于你正在寻找的东西可能有点过分。
答案 1 :(得分:1)
试试这个:http://bitbucket.org/idler/mmp/wiki/Home 用PHP-5.3编写,不关心你在项目中使用什么。
生成迁移脚本(php-classes)并执行迁移。
(对不起,如果我的英语不好的话)
答案 2 :(得分:0)
Ruby on Rails使用它的ActiveRecord Migrations来做到这一点。你可以看看它们的来源。也是谷歌数据库迁移工具。
Rails采用了不同的方法。您可以在发展架构时编写迁移脚本,并根据代码库的要求将它们应用到生产数据库,而不是从架构增量生成迁移脚本。
答案 3 :(得分:0)
我开始使用SQLyog获取数据库差异,它有一个很棒的GUI,但我还没有用脚本自动化它。
答案 4 :(得分:0)
我见过的托管数据库“迁移”的大多数软件都与特定框架相关联。它们中的许多都与它们接口的ORM抽象层紧密耦合。如果您只通过ORM访问数据,这可能没问题,但情况并非总是如此。我还遇到了ORM软件想要控制我不希望它做的所有模式的情况,因为我正在做的是创建与现有安装结合使用的视图/表。这使ORM成为一个禁忌,因此依赖于ORM的迁移库。
因此,我通常会枚举*.sql
个文件,这些文件会被评估以生成架构。我通常也会使用一些模板库来分享习语,标准序言等等。
答案 5 :(得分:0)
如果您正在寻找帮助您生成增量的工具,MySQL Compare应该会有所帮助。在早期访问时完全免费使用。