回到主页

UWinRelease | 持续交付的新生力量——数据库变更正式发布

近几年来,软件产品的交付模式正在产生巨大的变革,精益生产,敏捷开发,DevOps成为支撑这一交付理念的重要工程方法和实践。在这期的Uwin Release,小编想和大家一起分享我们持续交付平台最新上线的“数据库变更”产品。

· 平台发布

为什么需要数据库变更?

众所周知,程序的版本发布,往往伴随着数据库的变更操作,例如表结构变更、数据初始化等等。通常情况下,这些操作都是由运维人员手工执行SQL脚本来完成,难免会存在以下问题:

  • SQL脚本高度依赖人工维护

  • 变更缺乏规范性,实际操作因人而异

  • 命令行操作自由度高,存在一定风险

  • 变更缺乏审计历史,难以进行统计和追溯

为了解决上述的问题,“数据库变更”功能应运而生,它提供了SQL的打包规范和版本化管理、统一界面进行标准化的变更操作、审计历史管理,方便对操作进行统计和追溯。

数据库变更核心功能

1. 对数据库进行集中管理,统一数据库的运维入口,变更时不再需要登录服务器手工操作。

broken image

2. SQL打包及版本化管理,规范化SQL脚本的管理,减少人工维护成本。

2.1 新建SQL包-演示效果图

Step1:点击菜单,持续交付-SQL包。

broken image

Step2:在SQL包列表页面,点击新建SQL包。

broken image

Step3:填写相关信息,点击保存。

broken image

 2.2新建SQL包版本-演示效果图

Step1:在SQL包详情页面,点击新建版本。

broken image

Step2:通过手工或者上传文件/压缩包的方式,创建该版本所包含的文件,所包含的 目录 和文件,其中目录规范为:

broken image

Step3:通过拖动箭头按钮,可以调整备份脚本和SQL脚本的执行顺序,每一个SQL脚本,都可以定义其回滚脚本(rollback.sql)。

broken image

Step4:最后提交版本,填写版本号、说明文字等信息,点击提交。

broken image

3 . 变更操作自动化。变更前备份、变更中执行SQL、变更后检查三个步骤按序执行,结果与日志一目了然,极大简化了运维人员的操作。

3.1选择SQL包进行数据库变更

3.1.1选择SQL包及版本,选择需要执行的备份脚本、SQL脚本,选择需要检查的数据库对象声明文件。

broken image

3.1.2确认变更清单,点击执行。

broken image

3.2查看变更任务状态

3.2.1查看变更结果

备份结果

broken image

SQL变更结果

broken image

数据库对象检查

broken image

3.3查看日志输出

broken image

4 . 灵活的异常处理,遇到报错可以选择重试、跳过步骤,必要时还可以进行回退,保障变更操作的顺利进行。

4.1报错处理

4.1.1执行过程中遇到报错,任务将会在失败的步骤处中断。可以查看日志寻找报错信息,人工介入处理,处理完毕后点击重试,可以从失败的步骤继续执行。或者勾选“跳过当前出错步骤”,跳步执行。

broken image

4.2对某次变更进行回退

4.2.1点击进入某次变更的任务详情,如果有成功执行的SQL脚本,则可以利用定义好的ROLLBACK SQL对这些变更进行回退。回退顺序与执行顺序相反。

broken image

5 . 变更审计历史,追溯变更人、变更SQL和变更日志,有效地进行问题排查。

5.1查看变更历史

5.1.1在数据库服务详情页可以查看该数据库服务的变更历史。

broken image

5.1.2在SQL包详情页可以查看该SQL包的变更历史。

broken image

如果您需要了解EasyOps产品具体能力、功能实现细节的,可以通过我们的商务销售渠道建立沟通哦!