Igo*_*gor 6 mysql database svn versioning postgresql
主要问题是数据库结构的版本控制.
标准的mysqldump和pg_dump实用程序不能生成非常适合版本控制的文件.
dump命令生成具有自动增量值,TOC条目等的转储文件.由于这些对象会不断变化,因此总会生成巨大的差异文件.
PostgreSQL差异
--
--- TOC entry 2630 (class 0 OID 0)
+-- TOC entry 2549 (class 0 OID 0)
-- Dependencies: 6
-- Name: SCHEMA adm; Type: COMMENT; Schema: -; Owner: admin
@@ -61,5 +61,5 @@
Run Code Online (Sandbox Code Playgroud)
MySQL Diff
--- Dump completed on 2010-07-20 14:33:44
+-- Dump completed on 2010-08-11 8:59:39
Index: /db.sql
===================================================================
--- /db.sql (revision 1274)
+++ /db.sql (revision 1317)
@@ -36,5 +36,5 @@
`message` text,
PRIMARY KEY (`id`)
-) ENGINE=MyISAM AUTO_INCREMENT=21122 DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM AUTO_INCREMENT=23730 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
有关更好的版本控制方式的任何建议/链接/实用程序表示赞赏!
谢谢.
看看LiquiBase(http://www.liquibase.org/)
它是一个工具,旨在允许开发人员将数据库更改提交到SVN,然后安全地自动应用到数据库.
通过比较两个数据库,或者由开发人员手动编码并提交,可以对更改进行逆向工程.
它还确保以正确的顺序应用数据库更改,并且仅对给定的数据库应用一次.
我们只是简单地编写用于从头创建数据库的脚本.开发人员编辑文本文件中的脚本,而不是数据库中的脚本.开发人员无权访问生产SQL服务器,DBA团队使用专门用于比较数据库模式的工具(在我们的示例中为Red-Gate SQLCompare)来进行生产构建.他们将从脚本创建一个新的空数据库,并使用比较工具来检测更改.可以自动应用某些更改,有些更改必须手动更改.
它不是一个完美的系统,但到目前为止它对我们来说相当不错.
归档时间: |
|
查看次数: |
2278 次 |
最近记录: |