如何对DevOps数据库进行源代码控制
极客时间编辑部
讲述:杜力大小:3.31M时长:02:25
健壮的 DevOps 环境需要对系统的每个组件进行持续集成。但是,数据库常被排除在这之外,这会导致脆弱的产品发布、低效的开发实践到让新入职程序员工作更困难等一系列问题。本文将讨论在成功的持续集成环境中,关系型数据库和 NoSQL 数据库独特的一面。
首先,需要解决的就是源代码控制和模式问题,让开发人员以一种特别的方式进行数据库变更是不合适的,这相当于在生产服务器上通过直接编辑 JavaScript 文件对其进行更改。即便是无模式数据库,也需要考虑索引和数据库整体配置。如果在 QA 和生产数据库中索引计划不同,那么执行性能测试将毫无意义。
数据库源代码控制有两种基本类型:全模式和变更脚本,全模式源码控制指源代码控制与所希望的数据库外观相似。在使用此模式时,可以看到所有表和视图都按照预期排列,无需部署数据库就能理解。
其中,SQL Server 的 SQL Server Data Tools 就是全模式源码控制示例。当想要用 SQL 创建新对象时,只需要将最终脚本粘贴到处于源代码控制下的数据库项目中即可。
在使用全模式源码控制时,通常不需要直接编写迁移脚本。部署工具通过将数据库当前状态与处于源代码控制中的理想版本进行比较,来确定需要进行哪些更改,这可以快速完成数据库变更并看到结果。
另一种源代码控制方式是变更脚本源码控制,这种方式不存储数据库对象本身,而是存储创建数据库对象所需的步骤列表。变更脚本工具的主要优点是可以完全控制最终迁移脚本的样貌,这使得复杂变更的执行更加容易,例如表拆分或合并。
如果将模式和数据置于源代码控制之下,就可以着手设置个人开发数据库。正如每个开发人员都应该能够运行自己的 web 服务器实例一样,有可能对数据库设计做出修改的每个开发人员都需要能够运行自己的数据库副本。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论