是否有可能对PHP + MySQL + Apache项目进行版本控制?它是否可以跟踪数据库中的更改,例如,如果我添加了一个新表,我可以提交吗?
谢谢。
答案 0 :(得分:4)
将数据库保留在版本控制中是不正常的。一些开发人员使用sqlite数据库进行开发,以便可以将其检入版本控制,但这可能会导致问题,因为sqlite语法可能与MySQL不同。
但是,您可以保留数据库架构和迁移源控件。查看mysql-php-migrations等项目即可开始使用。
有一个关于在http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/使用PHP和Git的好教程 - 这应该可以帮助你入门。
答案 1 :(得分:3)
将Git用于PHP脚本是没有问题的,但跟踪对数据库的更改有点棘手。如果您有创建数据库结构的SQL脚本,那么这些脚本可以通过版本控制而没有任何问题。否则,您可以使用mysqldump
在进行任何更改后将结构输出到SQL脚本:
mysqldump -d -h localhost -u root -pmypassword mydatabase > dumpfile.sql
答案 2 :(得分:0)
您可以使用git来跟踪创建必要数据库结构的PHP脚本和SQL脚本。这些SQL脚本当然可以是版本控制的,并在任何给定的状态下重新创建数据库模式。
答案 3 :(得分:0)
Git本质上是SCM,意思是来源控制。 mysql中的表存储为二进制文件,因此不是很好。
但是,您可以存储创建这些表的SQL查询,允许您在需要时重新创建它们。
至于php,一切都会好的。
答案 4 :(得分:0)
我最近发布了一个非常简单的shell脚本,它有助于在版本控制下保持对MySQL数据库的更改。