如何对PHP和MySQL进行版本控制、部署和开发

5
我正在参与一个使用Zend开发php并使用mySQL数据库的项目,该项目即将到达需要不仅对实际代码而且对数据库进行版本控制的阶段。
此外,我们正在获得一个良好的生产服务器(实际生产服务器将是测试服务器)。
因此,我想知道您是否认为标准化程序员使用的IDE并让他们在自己的电脑上安装apache/php/mySQL来测试代码从而在每台计算机上拥有开发环境、一个测试服务器和一个生产服务器是个好主意。
如果是这样,您会推荐哪种设置方法,特别是mysql版本控制(我从未做过),以及如何进行部署?
我知道这是一个非常大的问题,并且大部分已在不同的问题中回答,但我希望得到关于如何更快、更好(更难、更强)地设置这一切以及我们需要停止编程多长时间才能使所有这些工作正常运行的全局答案!(是的,雇用该领域的专家基本上是不可能的)
谢谢!
3个回答

8
不,我不会强制要求所有开发者使用标准化的IDE。你应该在编码风格上进行标准化,而不是在IDE上。
在开发者的电脑上安装PHP/Apache/MySQL是一个好主意。唯一可能遇到的问题是开发者的机器可能与测试和生产服务器的配置/运行时环境不完全相同。使用虚拟映像可以解决这个问题。
至于MySQL版本控制,将模式放入源代码管理系统(CVS、SVN、Perforce等)。为了处理更改,您可能需要查看Rails迁移以获取灵感。
部署是一个巨大的问题。我只能说有很多工具可以使用。 Capistrano, Phing 等。

1

你可以使用MySQL版本控制DDL和DML SQL脚本来创建、修改和加载数据库。"敏捷数据库"的Scott Ambler提出了一些不错的想法。

如果你有一个每个人都能使用的标准IDE,那么标准化IDE是一件好事。但我认为无论是否有标准IDE,版本控制都是必要的。

在同一台服务器上进行测试和生产?我认为这是一个坏主意。它们应该是相同但分开的。


0
所以我在想,你们认为标准化程序员使用的IDE并让他们在自己的电脑上安装apache/php/mySQL来测试代码是否是个好主意,从而在每台计算机上拥有开发环境、测试服务器和生产服务器。

是的,这是一个好主意,这就是我们做事情的方式。


请问您推荐使用哪个集成开发环境和设置来完成我们的工作? - DFectuoso
尝试获取大多数开发人员都认为是好的东西。如果大多数开发人员喜欢Eclipse,则使用Eclipse。如果他们喜欢NetBeans,则使用NetBeans。如果他们喜欢Emacs,则使用Emacs。 - luiscubal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接