Php 是否有在开发组中共享数据库SQL更改的标准?
我很好奇,是否有一个标准的或开放源码的应用程序,允许一小队开发人员共享MySQL数据库更新/修改脚本 现在所有的开发人员都有一个VM和他们自己的数据库实例,所以没有冲突,每个人都可以有单独的开发环境。当一个人进行数据库更改时,我们将SQL脚本添加到SVN中的SQL文本文件中,然后在必要时由每个开发人员在自己的环境中运行 我们遇到的问题是,当有人更新文件时,其他人运行脚本,然后我们添加其他更改。它变得非常混乱,如果有ALTERTABLE语句等,就会出现错误 我们不希望使用数据库复制,因为如果一个开发人员破坏了他们的数据库,我们不希望其他开发人员受到影响 我们使用ExpressionEngine,我注意到他们使用PHP检查/验证SQL更新,这是我们需要走的方向吗Php 是否有在开发组中共享数据库SQL更改的标准?,php,mysql,sql,development-environment,Php,Mysql,Sql,Development Environment,我很好奇,是否有一个标准的或开放源码的应用程序,允许一小队开发人员共享MySQL数据库更新/修改脚本 现在所有的开发人员都有一个VM和他们自己的数据库实例,所以没有冲突,每个人都可以有单独的开发环境。当一个人进行数据库更改时,我们将SQL脚本添加到SVN中的SQL文本文件中,然后在必要时由每个开发人员在自己的环境中运行 我们遇到的问题是,当有人更新文件时,其他人运行脚本,然后我们添加其他更改。它变得非常混乱,如果有ALTERTABLE语句等,就会出现错误 我们不希望使用数据库复制,因为如果一个开
还有人处理这个问题吗?如果是这样,您最终使用了什么?也许您想要的是迁移支持 然后,您将迁移代码放入您使用的CVS中,每个团队成员在其框中进行迁移(即运行迁移脚本),这将同步所有数据库
我使用的框架(yii)支持它,但如果您不想把整个框架带过来的话,我很肯定会有一些独立的解决方案。也许您想要的是迁移支持 然后,您将迁移代码放入您使用的CVS中,每个团队成员在其框中进行迁移(即运行迁移脚本),这将同步所有数据库
我使用的框架(yii)支持它,但是如果你不想把整个框架都带过来的话,我敢肯定会有一些独立的解决方案。一个相当简单的解决方案是有一个目录,而不是一个文件。然后,每次开发人员进行更改时,他们都会向目录中添加一个“补丁文件”。其他开发人员可以通过运行任何尚未运行的修补程序来更新数据库 这甚至可以通过在数据库中使用元数据表来跟踪已运行的修补程序,并编写脚本来运行尚未运行的修补程序来实现自动化 Lorna Mitchell在博客中介绍了一些实现这一点的策略:
评论是完整的,或者是人们推荐各种工具来帮助这个过程。就我个人而言,我只是有一个相当简单的脚本,不需要更大的库,但您的里程可能会有所不同。一个相当简单的解决方案是有一个目录,而不是一个文件。然后,每次开发人员进行更改时,他们都会向目录中添加一个“补丁文件”。其他开发人员可以通过运行任何尚未运行的修补程序来更新数据库 这甚至可以通过在数据库中使用元数据表来跟踪已运行的修补程序,并编写脚本来运行尚未运行的修补程序来实现自动化 Lorna Mitchell在博客中介绍了一些实现这一点的策略:
评论是完整的,或者是人们推荐各种工具来帮助这个过程。就我个人而言,我只是有一个相当简单的脚本,不需要更大的库,但您的里程可能会有所不同。感谢您提供的信息,我们将使用这些概念,但对它们进行一些调整,以适应我们的平台。感谢您提供的信息,我们将使用这些概念,但对它们进行一些调整,以适应我们的平台。