项目团队数据库版本管理及发布探索

版权声明:因时间精力和个人能力,文章内容难免不足,简陋。请谅解.... https://blog.csdn.net/jdk2006/article/details/51654155

项目团队开发产品前期在测试数据库上进行项目开发,即使数据库经常结构经常变动,也只是针对这个测试环境。在项目开发进入发布任务“收官阶段”进行数据库升级。在数据升级过程中出现了如下问题:

  • 数据库升级脚本有时会拖延到最初数据库改变发生后数月才开始编写,而这时关于如何迁移数据的项目可能早已遗忘,或者有所缺失了;
  • 编写数据库升级脚本所需的时间难以预料,因为没有数据库变动记录,因而需要对比数据库差异,这使的项目发布风险提高;
  • 匆忙编写的数据库升级脚本没有经过彻底并且重复性的测试,更是使项目存在潜在风险;
  • 项目上线多家客户后,每个客户数据库都存在差异,造成系统无法更新到最新版本,因为客户数据库差异越来越大,一不小心就出现数据不一致的问题,无法合并,需要非常小心,坑越挖越深;

经过上述痛苦数据库升级阶段深刻体会一个良好的数据库版本管理以及发布策略对后期项目发布上线的重要性。

1、怎么管理?

首先定义“标准”并让每个团队成员都应该了解如何按照团队遵循的规则编写升级脚本:采用怎样的格式?是否使用了某种模板?文件保存在哪里?又该遵循何种命名规范?

其次配置数据库管理员,统一管理员数据库创建和升级工作。

在开发过程中,开发者并行地完成对代码和数据库的修改。除了对数据库项目进行改动之外,团队成员还需要编写升级脚本,随后和其它代码一起交付给数据库配置管理员,由其签入版本控制,并且在一个独立的环境中进行测试。

当阶段开发工作结束后,项目成员一起讨论并决定把哪些脚本会和其它必需步骤一起加入整个安装过程。

2、管理方式


作者 @zokaper
2016 年 01 月 17日

猜你喜欢

转载自blog.csdn.net/jdk2006/article/details/51654155