协同开发时,数据库怎么管理更科学,更高效呢?


不知道什么时候线上的数据库居然被覆盖了,导致一些功能失效。

但是时间久远,我也忘记那些数据库应该设计成什么样了,这样不得不重新把那个流程走一遍,然后通过代码来核对出应该有的字段,而且还不能保证一次性全部修复完毕。

原来有做过在测试的时候,先用sqlite数据库放在项目目录下,每次更新数据库就提交到SVN,那样就能保证数据库最新,但是sqlite毕竟不是实际环境中使用的,多多少少还是有些不顺手。

大家在协同开发时,数据库怎么管理更科学,更高效呢?

协同开发

玩脱了的熊吉 10 years, 10 months ago
  1. 严格区分DEV,QA和PROD环境,QA和PROD的数据库最好保持一致,如有必要加入UAT环节。
  2. 非开发环境做好自动备份,至少做到每天全备份一次。
  3. 非开发环境的数据库做好访问权限的控制,生产环节的数据库最好做到由专人来维护。
  4. 借助于一些工具,比如Liquibase等来做好数据库脚本的增量更新。
  5. 测试代码覆盖数据库变更,发布之前通过集成测试来检查数据库是否正确。
KURAI answered 10 years, 10 months ago

Your Answer