为什么需要数据库变更?
众所周知,程序的版本发布,往往伴随着数据库的变更操作,例如表结构变更、数据初始化等等。通常情况下,这些操作都是由运维人员手工执行SQL脚本来完成,难免会存在以下问题:
SQL脚本高度依赖人工维护
变更缺乏规范性,实际操作因人而异
命令行操作自由度高,存在一定风险
变更缺乏审计历史,难以进行统计和追溯
为了解决上述的问题,“数据库变更”功能应运而生,它提供了SQL的打包规范和版本化管理、统一界面进行标准化的变更操作、审计历史管理,方便对操作进行统计和追溯。
数据库变更核心功能
1. 对数据库进行集中管理,统一数据库的运维入口,变更时不再需要登录服务器手工操作。
2. SQL打包及版本化管理,规范化SQL脚本的管理,减少人工维护成本。
2.1 新建SQL包-演示效果图
Step1:点击菜单,持续交付-SQL包。
Step2:在SQL包列表页面,点击新建SQL包。
Step3:填写相关信息,点击保存。
2.2新建SQL包版本-演示效果图
Step1:在SQL包详情页面,点击新建版本。
Step2:通过手工或者上传文件/压缩包的方式,创建该版本所包含的文件,所包含的 目录 和文件,其中目录规范为:
Step3:通过拖动箭头按钮,可以调整备份脚本和SQL脚本的执行顺序,每一个SQL脚本,都可以定义其回滚脚本(rollback.sql)。
Step4:最后提交版本,填写版本号、说明文字等信息,点击提交。
3 . 变更操作自动化。变更前备份、变更中执行SQL、变更后检查三个步骤按序执行,结果与日志一目了然,极大简化了运维人员的操作。
3.1选择SQL包进行数据库变更
3.1.1选择SQL包及版本,选择需要执行的备份脚本、SQL脚本,选择需要检查的数据库对象声明文件。
3.1.2确认变更清单,点击执行。
3.2查看变更任务状态
3.2.1查看变更结果
备份结果
SQL变更结果
数据库对象检查
3.3查看日志输出
4 . 灵活的异常处理,遇到报错可以选择重试、跳过步骤,必要时还可以进行回退,保障变更操作的顺利进行。
4.1报错处理
4.1.1执行过程中遇到报错,任务将会在失败的步骤处中断。可以查看日志寻找报错信息,人工介入处理,处理完毕后点击重试,可以从失败的步骤继续执行。或者勾选“跳过当前出错步骤”,跳步执行。
4.2对某次变更进行回退
4.2.1点击进入某次变更的任务详情,如果有成功执行的SQL脚本,则可以利用定义好的ROLLBACK SQL对这些变更进行回退。回退顺序与执行顺序相反。
5 . 变更审计历史,追溯变更人、变更SQL和变更日志,有效地进行问题排查。
5.1查看变更历史
5.1.1在数据库服务详情页可以查看该数据库服务的变更历史。
5.1.2在SQL包详情页可以查看该SQL包的变更历史。
如果您需要了解EasyOps产品具体能力、功能实现细节的,可以通过我们的商务销售渠道建立沟通哦!