你如何检查你的数据库进出svn(或git)

时间:2009-07-02 23:07:19

标签: version-control git-svn

目前我进入phpMyAdmin,将我的数据库导出为文本文件,然后在将内容提交到svn(或git)之前将其与应用程序文件一起保存。当然,我必须将它导入生产。

有更好的方法吗?

5 个答案:

答案 0 :(得分:1)

取决于你使用的语言,RoR内置了它。目前我正在ASP.net MVC中进行的项目我在项目中的2个文件中有一个文件夹:database。一个文件包含数据库的结构,一个文件包含一些用于测试的虚拟变量。我必须说这是一种分享数据库的繁琐方式,因为当您更新某些内容时,必须让其他人知道他们必须重新运行(更新的)sql结构脚本。

结构脚本如果存在则删除表并读取它们+添加新表。

无法找到像Ruby on Rails的db :: migrate更好的方法。

答案 1 :(得分:0)

通常,我会创建一个能够生成数据库的脚本(即所有表,用户,视图,索引等)和另一个用数据填充数据库的脚本。然后,使用DBDeploy(类似于RoRs迁移)来处理所有数据库修改。然后我将为Ant,NAnt,Buildr等中的所有这些脚本创建构建目标。这样一切都是版本化的文本文件,因此它适用于任何SCM。

答案 2 :(得分:0)

如果您正在寻找类似于Rails中的db:migrate的迁移,但您不在rails中,还有其他选项。有一个migrate4j,它类似于db:migrate,但用/写在/中。还有liquibase,它非常灵活且与(AFAIK)语言无关,但它确实让你用XML编写所有内容(这与“Rails方式”相反)。

答案 3 :(得分:0)

如果你没有像rails迁移这样的东西,在java环境或其他任何东西,请查看liquibase。如果你需要那么大的灵活性,这很酷。我们只跟踪设置整个数据库的.sql文件。

答案 4 :(得分:0)

如果你看一下Apache ODE,他们有一个用于Builder的h2.rake任务,它可以构建一个自动测试的数据库。