actiontech / sqle

一个支持多种不同类型数据库,覆盖事前控制、事后监督、标准发布场景,帮助您建立质量规范的SQL全生命周期质量管理平台
Mozilla Public License 2.0
1.42k stars 183 forks source link

快捷审核sql同步到sql管控 #2561

Closed iwanghc closed 2 weeks ago

iwanghc commented 2 weeks ago

需求描述(Describe)

快捷审核中打标签的sql同步到sql管控中

实现方案

1、快捷审核打标签的sql同步至sql管控中。 2、调整sql管控model,预期希望管控的表不需要关联来源表。 3、修改智能扫描model中的sql语句,补充sql_manage_records与sql_audit_plans_v2的关联关系(类型与来源) 4、调整来源为智能扫描任务的sql_manage_records表source_id为instance_audit_plan_id(跳转概览界面需要instance_audit_plan_id)

变更影响面

受影响的模块或功能

sql管控 智能扫描 快捷审核

外部引用的潜在问题或风险

版本兼容性

不兼容 1、sql_manage_records表source_id字段类型由bigint调整为string。 2、sql_manage_records表source_id来源为智能扫描的改为实例任务id,且对应的sql_id也要同步更新。

测试建议

1、验证快捷审核打标签与标签删除,以及多条审核相同指纹在sql管控的合并 2、合并的sql跳转快捷审核,列表形式展示 3、sql管控跳转智能扫描

iwanghc commented 2 weeks ago

升级说明

1.由于改动较大,无法直接使用SQL进行改表升级,因此本次升级使用升级工具进行

  1. 建议在升级前备份SQLE业务库,然后执行升级脚本

    升级内容

  2. 更新sql_manage_records表source_id字段类型由bigint调整为string。
  3. 更新sql_manage_records表source_id的值为instance_audit_plan_id(条件为source <> 'sql_audit_record')
  4. 因为source_id变了, 所以要重新生成sql_manage_records表的sql_id(条件为source <> 'sql_audit_record',注意库表元数据任务生成sql_id的规则与其他类型任务不一样)

    升级工具的使用

    版本:upgrade-2407-2408

    1. 工具参数如下:

    
    Usage:
    upgrade-2407-2408 [flags]

Flags: -h, --help help for upgrade-2407-2408 --mysql-host string mysql host (default "localhost") --mysql-password string mysql password (default "root") --mysql-port string mysql port (default "3306") --mysql-user string mysql user (default "root") --schema string schema for sqle or dms (default "sqle") --server string enter sqle or dms

#### 2. 示例:
```bash
./upgrade-2407-2408  \
--server=sqle
--mysql-user={your_user}  \
--mysql-password={your_pass}  \
--mysql-host={your_mysq_host}  \
--mysql-port={your_mysql_port} \
--schema=sqle
hasa1K commented 2 weeks ago

版本

sqle-ee:79f3cbe398e13b12fa797f72a70cd16ca4a75650

测试

快捷审核,并打上标签 image sql管控同步成功 image 快捷审核中,删除标签,sql管控同时将sql删除 image

点击标签跳转 image 跳转快捷审核成功 image

点击标签跳转 image

跳转智能扫描成功 image

删除智能扫描任务 image

sql管控中的数据同步删除 image