数据库的持续集成和版本控制[转自INFOQ]

Allen在发布了关系型数据库开发的三个原则的经验总结文章之后,就开始写后续的系列文章了。这三个原则如下:

一、不要在共享数据库服务器上进行开发工作

就像软件开发中其它所谓便捷的方法一样,共享数据库的使用也是一个泥潭,它正等着冻结一个项目呢。开发人员相互覆盖彼此所做的修改,我在服务器上所做的改变让你的开发机器上的代码中断运行,这些都让远程开发速度很慢而且非常困难。避免使用共享数据库,也就免避了因使用它造成的极度时间浪费和因之而生的Bug。
仅保留一份权威的Schema生成源
每一个人都必须知道该从哪里获得正式的Schema,并且可以用它轻松地重新创建一个新的数据库。当我走到电脑前,可以从源码库中获得最新的版本,构建后就可以通过最简单的工具创建数据库(在更多的场景中,构建的过程甚至可以在数据库不存在时自己创建一个,所以这个构建过程应该是一步到位方式的)。
三、对你的数据库进行版本管理
这样做的原因之一就是要将变化由开发传递到测试,最终在一种可控制的、一致的环境下生产。其二就是可以重建任何时间点上的数据库,如果你正在将软件交付给客户的话,这一点就尤为重要。如果有人在你提交的应用版本build 20070612中发现了bug,你就必须能重建当时那个版本的状况——包括数据和其它所需。

posted on 2008-02-26 23:17  林晓可  阅读(286)  评论(0编辑  收藏  举报

导航