知识卡片
自动化数据库迁移把现场变更变成可重复执行的代码
内容
面对分布四个时区、上百地点、几乎没本地技术支持的数据库群,靠人工电话指导逐条输入SQL显然行不通。团队把每次数据库变更包装成”数据库更新对象”,各自知道版本号和操作方式;启动时自动检查版本、按序应用未执行的更新,全程自动可重复。附加好处是数据库演进成本降低,团队可以只设计够用的schema而非早期求完美。
参考来源
- 位置:《架构之美》第4章《记忆留存》4.3.5节《数据库迁移》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0132.xhtml)
- 结论依据:原文明确"照相馆的服务器定义了一个bean,名为'数据库更新器'。它保存了一组数据库更新对象,每个对象代表了对数据库的一次原子变更……启动时,数据库更新器检查一个表,得知数据库当前的版本",并总结"有了这种更新机制,我们就可以关注于'刚好够'的数据库设计"。
- 原始内容:照相馆的服务器定义了一个bean,名为"数据库更新器"。它保存了一组数据库更新对象,每个对象代表了对数据库的一次原子变更,也知道如何作用于数据库……有了这种更新机制,我们就可以关注于"刚好够"的数据库设计。