SQL变更
SQL自动化变更功能可以帮助业务(主要是开发和运维)简化现网的SQL变更流程。
- 帮助业务运维在做现网数据库变更时更好地发现SQL语句的相关风险,将高中低风险项识别出来,避免人工执行过程中产生的相关误操作。
- 帮助业务开发简化现网上线SQL变更的流程,促进开发人员在版本开发的过程中提前将相关风险的语句进行筛选和甄别。
现流程: 开发按照打包规范打包SQL脚本 > 运维在WiseDBA管理台上发起变更任务/发起IaC任务并自动执行 > 确认风险并执行。
前提条件
- SQL变更只能够帮助业务对管理台中已有的数据库进行变更,对WiseDBA管理台中没有记录的数据库,需要先在管理台中纳管以后再使用该功能进行变更操作。
- 已按照打包规范打包SQL脚本。打包命名建议:<服务名>-<db_type>-<site_name>-<sql_type>-<version>.zip
- 变更多个逻辑库,需要创建多个目录,存放对应逻辑库的sql文件。
- sql文件仅支持两种命名:upgrade.sql(增量脚本)和rollback.sql(回滚脚本)。
Cassandra后缀是cql。
- 每个sql包下都有一个package.json文件,作为当前变更包的基本信息,json文件格式如下:
"name": 包名,
"site_name": 站点名称,
"business_name": 业务名称,
"service_name": 服务名称,
"instance_name": 执行变更的实例名称(对应实例管理),
"instance_type": 实例名称,
"type": SQL脚本类型(dbscript_ddl(DDL脚本包)、dbscript_dml(DML脚本包)),
"version": SQL脚本包版本号
}
- 已完成语法改造。
- 已完成SQL包上传,支持以下两种方式:
- 需要提前创建好变更电子流,具体请参见变更电子流管理。
创建人工变更
- 进入运维中心工作台。
- 在顶部导航栏选择自有服务。
- 单击,选择 。
- 选择左侧导航栏的“SQL变更”,单击“创建人工变更”。
- 选择变更电子流,选择需要执行的任务变更包。
- 单击“保存”,IAC执行SQL变更脚本。
更多操作
创建任务后,支持实例级、Schema级、sql文件级的任务执行,操作说明如表1所示。
操作 |
说明 |
---|---|
批量执行 |
- |
批量风险评估 |
- |
刷新 |
- |
查看详情 |
单击“详情”,可以执行单个sql文件,包括风险评估和对应执行的sql文件和sql语句。 风险评估:风险评估状态有高危、中危、低危、无四种状态,如果存在高危语句,请用户自行评估风险在确定是否要执行。 |
执行任务 |
执行选项:
说明:
|