版本控制软件有svn git等等,这些工具控制源码版本非常好用,但数据库的版本控制呢?传统方法是导出来整个数据库,这样的团队协作效率非常低。有没有一种工具,能方便同步数据库结构的呢?有的,也很多,本人使用dbv,能集成到PHP+MYSQL的项目中,很方便。
dbv1.1版本下载 https://github.com/victorstanciu/dbv/archive/1.1.zip
使用方法:
1. 下载后,解压到已经在git或SVN版本软件控制下的工程目录下,比如本人的工程目录是93zp_project, 解压后,dbv在93zp_project/dbv-master ,把dbv-master/data设置为可写权限。
2.把config.conf.sample 修改为config.conf 修改如下红色地方
define(‘DB_HOST‘, ‘localhost‘);
define(‘DB_PORT‘, 3306);
define(‘DB_USERNAME‘, ‘root‘);
define(‘DB_PASSWORD‘, ‘123456‘);
define(‘DB_NAME‘, ‘93zp‘);
其中 93zp就为要版本控制的数据库。
3.访问 http://localhost/93zp_project/dbv-master/index.php 输入用户名dbv 密码dbv, 可以再config.conf修改这个用户名密码。就可以看到93zp的数据库表了,每次修改的记录都可以看到如下页面:
列【In DB】表示 记录是否在数据库中,列【On disk】表示记录是否导出到硬盘了。上面看到On disk的值为NO表示都还没有导出修改记录。
4.按按钮【Export to disk】,把记录导出,这样修改记录就能保存在dbv-master/data/schema 下面了。
团队成员更新工程后,也通过访问http://localhost/93zp_project/dbv-master/index.php 能看出哪些记录需要导入到数据库中的,勾选相应的记录,按按钮[push to databse]就可以同步数据库了!同步后,In DB是 YES 状态,比如下图, 修改记录aaa 与 ssss 都已经同步了。
原文地址:http://blog.csdn.net/ljuncong/article/details/39296845