日期:2014-05-16  浏览次数:20460 次

数据库持续集成和版本控制

?

1? ??? 数据库开发的三个原则

1、? Never use a shared database server for development work
不要在共享的数据库上进行开发工作

2、? Always Have a Single, Authoritative Source For Your Schema

仅保留一份权威的Schema生成源

3、? Always Version Your Database

对你的数据库进行版本管理

2? ??? 为什么要版本化数据库

版本化数据库的目的就是为了能保证所做的改变能保持一致性、可控性、可测试性和可重现性。

我的指导思想:数据库版本管理类似于数据库备份,全备和增量备份相结合。全备就相当于完整脚本,增量备份就相当于增量脚本。

这样就避免数据库的更新从版本1跑到版本1000

3? ??? 各个阶段的版本化

3.1 ?? 设计阶段

数据库采用PD进行设计,分为不同模块,用版本控制工具如cvs等管理pdm文件。

如下图:


3.2 ?? 开发阶段

?

增量脚本维护数据库;每次发新的版本重新生产数据库脚本,通过PD或者直接从数据库导出。

版本号遵从的格式通常是:主版本号.次版本号.修正号

比如1.0版本,修改数据库用脚本修改;如果发布新版本,则重新生产数据库脚本,为2.0版本

3.3 ?? 生产环境

生产环境中已经有生产数据,不能删除,通过增量维护。生产环境中可能遇到差异化控制,可以按照如下图结构进行维护

?

?

?

?4? ??? 如何版本化