不知道什么时候线上的数据库居然被覆盖了,导致一些功能失效。但是时间久远,我也忘记那些数据库应该设计成什么样了,这样不得不重新把那个流程走一遍,然后通过代码来核对出应该有的字段,而且还不能保证一次性全部修复完毕。原来有做过在测试的时候,先用sqlite数据库放在项目目录下,每次更新数据库就提交到SVN,那样就能保证数据库最新,但是sqlite毕竟不是实际环境中使用的,多多少少还是有些不顺手。大家在协同开发时,数据库怎么管理更科学,更高效呢?
2 回答
慕森卡
TA贡献1806条经验 获得超8个赞
严格区分DEV,QA和PROD环境,QA和PROD的数据库最好保持一致,如有必要加入UAT环节。非开发环境做好自动备份,至少做到每天全备份一次。非开发环境的数据库做好访问权限的控制,生产环节的数据库最好做到由专人来维护。借助于一些工具,比如Liquibase等来做好数据库脚本的增量更新。测试代码覆盖数据库变更,发布之前通过集成测试来检查数据库是否正确。
添加回答
举报
0/150
提交
取消