惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
I
InfoQ
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
月光博客
月光博客
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
G
Google Developers Blog
小众软件
小众软件
宝玉的分享
宝玉的分享
Jina AI
Jina AI
V
Visual Studio Blog

博客园 - 林晓可

[效率提升]如何管理好你的电脑文件 关于视频会议的一些思考 对于数据中心的一些体会 2010.7.10 人生的80%与20%黄金法则 SOA:尚待改进的五大缺憾 学习目标 Tivoli软件分发 [转]AIX查看硬件配置 [转].Net多线程总结 工作 EAI与SOA之比较 最近 智商120才能看懂的千年经典冷笑话 南京快递集合 DB2基础 日记[2007.08.20] 服务级别协议(Service Level Agreement,SLA) 2007.5.21
数据库的持续集成和版本控制[转自INFOQ]
林晓可 · 2008-02-26 · via 博客园 - 林晓可

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

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

就像软件开发中其它所谓便捷的方法一样,共享数据库的使用也是一个泥潭,它正等着冻结一个项目呢。开发人员相互覆盖彼此所做的修改,我在服务器上所做的改变让你的开发机器上的代码中断运行,这些都让远程开发速度很慢而且非常困难。避免使用共享数据库,也就免避了因使用它造成的极度时间浪费和因之而生的Bug。

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

每一个人都必须知道该从哪里获得正式的Schema,并且可以用它轻松地重新创建一个新的数据库。当我走到电脑前,可以从源码库中获得最新的版本,构建后就可以通过最简单的工具创建数据库(在更多的场景中,构建的过程甚至可以在数据库不存在时自己创建一个,所以这个构建过程应该是一步到位方式的)。

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

这样做的原因之一就是要将变化由开发传递到测试,最终在一种可控制的、一致的环境下生产。其二就是可以重建任何时间点上的数据库,如果你正在将软件交付给客户的话,这一点就尤为重要。如果有人在你提交的应用版本build 20070612中发现了bug,你就必须能重建当时那个版本的状况——包括数据和其它所需。