摘要:解决方式使用开源的数据库版本控制工具。我本地的数据库如何同一键同步其他小伙伴做的数据库变动,比如小张增加了一个字段,我可以一键同步到我本地,不至于我本地各种页面报错。
多人开发时的数据库同步问题
相信各位小伙伴在进行团队开发时都遇到过这个问题:一般开发时,各个团队成员使用的是自己开发环境上的本地数据库,这个数据库只有自己在使用,开发过程中,数据库是会经常变动的,比如其他小伙伴添加了一个字段,或者新增了一张表,那么此时问题就来了,我如何把其他小伙伴进行的数据库变更同步到我本地来?不然我更新代码后很可能各种报错。这个虽然是一个小问题,大不了直接再去拷贝一份最新的数据库出来,但是每次都这样,非常低效和繁琐,那这个问题该如何解决?
解决方式1:开发时团队成员共用一套数据库,直接把数据库的变更同步到这个数据库上就行了。这个方法简单粗暴,不过还是有不爽的地方: 共用数据库的话,数据就是共用的,我开发测试一个功能时,数据有可能被其他小伙伴改动了;还有这种方式数据库变更也要多带带做版本控制。
解决方式2;每个小伙伴都使用本地库开发,有数据库变更时给其他人发邮件。
这种方式非常繁琐,低效,而且很可能其他小伙伴经常忘记发的情况。
使用开源的数据库版本控制工具。比如dbv ,这个工具安装配置极其简单,也能满足现在的使用要求,其实我们的需求也并不多,主要是:
对数据库的变更进行版本控制,这个是必须的,对数据库的变更必须要记录下来。
我本地的数据库如何同一键同步其他小伙伴做的数据库变动,比如小张增加了一个字段,我可以一键同步到我本地,不至于我本地各种页面报错。
目前这个工具这两个大需求都能满足,下面就介绍下如何安装使用吧。
其实如何安装和配置文档上说的都很详细,文档传送门, 这里我再重复一遍。
1. 下载安装下载后解压到apache的站点目录下,或者把它放到别的目录,配置为一个虚拟站点也行。
比如我就把它配置为了一个虚拟站点,DocumentRoot指向根目录即可:
httpd-vhosts.conf
Listen 7845DocumentRoot "E:devsoftsDBVCshangsheng" ServerName localhost ErrorLog "logs/localhost_123-error.log" CustomLog "logs/localhost_123_access.log" common DirectoryIndex index.html index.php
重启apache。
2. 配置php.ini 要打开php_gettext扩展:
extension=php_gettext.dll
复制dbv根目下的config.php.sample一份为config.php,配置config.php中的数据库配置。连接到你本地的数据库。
define("DB_HOST", "localhost"); define("DB_PORT", 3306); define("DB_USERNAME", "root"); define("DB_PASSWORD", "123456"); define("DB_NAME", "shangsheng_offical");
配置完成后,在浏览器中访问你刚才配置的站点就能看到了
dbv其实也是使用的git或者svn做的版本控制,这个和一般的项目是一样的,比如你使用git的话直接在根目录下执行
git init
就行了,然后把它提交到git服务器,方便下一步其他小伙伴同步更新。
注意:
/data/meta/revision这个文件存储的是你本地数据库信息,这个文件必须添加到git的忽略列表,否则会覆盖到其他人的;还有config.php这个文件也要添加到忽略列表,因为这是你本地的配置。和其他团队成员无关。
官方举例了四个使用场景,其实我们需要的就是这个,这个是详细的使用举例,我就不再重复了,看这里
注意:
每个版本都是放在data
evisions目录下的,每个版本对应一个子目录,注意这里的子目录必须是数字,否则在浏览下看到的是空串,更不支持中文。官方也有说明:
OK, 这个工具就介绍完了,各位小伙伴可以尝试一下~,如果大家有更好的管理方式,可以在留言中探讨一下,相互学习。如果我的文章对你有帮助的话,动动手指点个赞吧~ 谢谢!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25688.html
摘要:架构中有两个主要角色服务提供者和服务使用者。服务提供者在启动时,向注册中心注册自己提供的服务。负载平衡旨在优化资源使用,最大化吞吐量,最小化响应时间,并避免任何单个资源的过载。 本文来自于我的个人主页:Apache Dubbo,转载请保留链接 ;) 在2011年10月27日,阿里巴巴开源了自己的SOA服务化治理方案的核心框架Dubbo,服务治理和SOA的设计理念开始逐渐在国内软件行业中...
摘要:另外集群也没有做物理隔离,有一次促销活动就因为粉丝数据量过于庞大导致进程内存耗尽而,使得集群内全部索引都无法正常工作,这给我上了深深的一课。 有赞搜索平台是一个面向公司内部各项搜索应用以及部分 NoSQL 存储应用的 PaaS 产品,帮助应用合理高效的支持检索和多维过滤功能,有赞搜索平台目前支持了大大小小一百多个检索业务,服务于近百亿数据。 在为传统的搜索应用提供高级检索和大数据交互能...
摘要:其标准为前身是,提供强大的在线编辑功能,包括语法高亮错误提示自动完成实时预览,并且支持用户以格式撰写导入导出转换文档。 团队内部RestAPI开发采用设计驱动开发的模式,即使用API设计文档解耦前端和后端的开发过程,双方只在联调与测试时耦合。在实际开发和与前端合作的过程中,受限于众多因素的影响,开发效率还有进一步提高的空间。本文的目的是优化工具链支持,减少一部分重复和枯燥的劳动。 现状...
阅读 1075·2021-10-14 09:42
阅读 1368·2021-09-22 15:11
阅读 3284·2019-08-30 15:56
阅读 1242·2019-08-30 15:55
阅读 3611·2019-08-30 15:55
阅读 888·2019-08-30 15:44
阅读 2027·2019-08-29 17:17
阅读 2070·2019-08-29 15:37