Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 关于数据库版本控制的建议_Php_Mysql_Database_Svn_Version Control - Fatal编程技术网

Php 关于数据库版本控制的建议

Php 关于数据库版本控制的建议,php,mysql,database,svn,version-control,Php,Mysql,Database,Svn,Version Control,我正在寻找一些关于数据库版本控制的建议 我们目前有几个开发人员都在运行他们自己的本地开发版本的网站项目 这些网站也可供客户端在登台服务器上查看 我遇到的问题是,我可能会从后台服务器获取最新的数据库,然后在本地副本上对此进行更改 但与此同时,客户已经在舞台上修改了他们的CMS 我在读有关SQL复制的文章,这是个好主意吗?我一直在想,每当在登台站点上进行更改时,它都会复制到本地服务器并更新该数据库 无论如何,想法是值得赞赏的。如果每个开发人员都获得了主服务器的从属服务器(staging)并进行本地更

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

我们目前有几个开发人员都在运行他们自己的本地开发版本的网站项目

这些网站也可供客户端在登台服务器上查看

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

但与此同时,客户已经在舞台上修改了他们的CMS

我在读有关SQL复制的文章,这是个好主意吗?我一直在想,每当在登台站点上进行更改时,它都会复制到本地服务器并更新该数据库


无论如何,想法是值得赞赏的。

如果每个开发人员都获得了主服务器的从属服务器(staging)并进行本地更改,他们可能会中断复制,因为如果从属模式不兼容,复制语句将中断复制。因此,所有更改都必须在临时服务器上进行,所有开发人员都将获得这些更改,如果他们没有最新的源代码,则源代码将中断。。。因此,虽然这可能会奏效,但我认为这将是困难的


我建议对每个环境必须运行的文件进行数据库更改。您可以调查一些,我们所做的是添加一个带有一列的db_版本表,每次更改后,版本都会增加以反映日期-20101229、20110305、20110808、201110808a等

所有更改都存储在源代码管理下的单个文件SQL中,大多数更改是create table、alter table、insert(小静态数据)等。每次开发人员想要更改模式时,它都可以知道所有更改都是相对于其版本进行的,并更新其模式