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

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

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

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

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

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


ORM/ActiveRecord现在就有了用武之地了。

书库的更改和代码层面没有太大关系。

需要更改的数据库由专人控制、管理。更改数据库结构必须由指定人员集中处理。


可以借鉴下Rails里的migration功能,这是最佳实践
实现了对数据库结构的版本管理
可以看看这个介绍
http://guides.ruby-china.org/migrations.html


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