0

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

有没有更好的办法?

4

5 回答 5

1

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

结构脚本会删除表(如果存在)并重新添加它们并添加新表。

找不到更好的方法,例如 Ruby on Rails 的 db::migrate。

于 2009-07-02T23:13:55.163 回答
0

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

于 2009-07-02T23:17:35.903 回答
0

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

于 2009-07-02T23:25:58.007 回答
0

如果您没有类似 rails migrate 的东西,在 java 环境或其他任何环境中,请查看liquibase。如果你需要这么大的灵活性,那就太酷了。我们只跟踪设置整个数据库的 .sql 文件。

于 2009-07-18T08:18:31.947 回答
0

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

于 2010-08-01T11:49:49.797 回答