2011-12-21 45 views
2

我正在寻找关于我们的数据库版本控制的一些建议。关于数据库版本控制的建议

我们目前有一些开发人员都运行他们自己的本地开发版本的网站项目。

这些网站也可供客户端在暂存服务器上查看。

我遇到的问题是我可能从舞台服务器获取最新的数据库,然后在本地副本上对此进行更改。

但与此同时,客户已经在升级上修改了他们的CMS。

我正在阅读关于SQL复制,这是一个好主意吗?我在想,无论何时在暂存站点上进行更改,它都会复制到本地服务器并更新该数据库。

无论如何,想法是赞赏。

回答

1

如果每个开发人员都获得主服务器的副本(分段)并执行本地更改,则他们可能会中断复制,因为如果从属模式不兼容,复制语句将中断。因此,所有更改都必须在登台服务器上进行,所有开发人员都可以得到它们,如果他们没有最新的源代码,源代码将会中断...所以,虽然这可能会起作用,但我认为这会很困难。

我会建议在每个环境必须运行的文件中进行数据库更改。有几个你可以调查liquibasedbdeploy

1

我们所做的是增加一个db_version表有一列,即每一步更改版本被递增,以反映日期 - 20101229,20110305,20110808,201110808a等

所有更改都存储在源代码管理下的单个文件SQL中,大多数更改是create table,alter table,insert(小静态数据)等。每当开发人员想要更改架构它可以知道所有的变化是相对于他所拥有的版本而言的,并且更新他的模式