基于php的webapp中的数据库模式修订控件

时间:2010-01-14 00:18:02

标签: php svn version-control

我们有一个基于php / mysql的应用程序,它对许多客户的实例略有不同。此外,我们还有多个开发人员在开发代码库。

在此方案中,管理数据库架构更改的好方法是什么?我们是否应该要求开发人员在需要更改数据库时编写一个小脚本?我想也许我们可以在运行更新脚本的代码中加入一个检查,如果找到新的脚本,那么当你执行svn更新然后浏览到站点时,它将运行脚本并更新数据库模式。

PHP中是否有标准库可以执行此操作并且无需采用整个框架就可以使用>

3 个答案:

答案 0 :(得分:1)

我的建议是你的方法。您可以让每个数据库更新脚本同时包含升级和降级方法,以便于更新和回滚。如果采用像Doctrine这样的ORM(http://www.doctrine-project.org/)不是一个选项,那么我建议看一下他们的“迁移”实现,以获得好的例子和最佳实践:http://www.doctrine-project.org/documentation/manual/1_2/en/migrations

答案 1 :(得分:1)

您可能想了解如何使用源代码管理branching

您可以将应用程序的非自定义版本保存在主分支中,并从中为每个需要自己特殊修改的客户创建分支。

当在主分支中开发新功能或错误修复时,您可以这些更改合并到您想要的每个分支。

您可以通过这种方式跟踪PHP代码和数据库架构文件的更改。

答案 2 :(得分:0)

我会使用/编写Akelos框架使用的内容,使用look at this screencast(近4分钟)作为一个简单的例子。

相关问题