大家好,我是爱撸代码的开源大叔。
提到 SQL 作为程序员肯定都不陌生,在平常工作中,CRUD 都离不开写 SQL。在一些公司,在生产环境执行 DDL、DML 都需要走工单流程。
今天大叔给大家推荐一款开箱即用的 MYSQL SQL 审核工具 -- yearning 。
功能特性
- 高性能,使用 go vue 流畅的界面和强大的性能
- 支持自定义 SQL 审核流程
- SQL 语法检测,根据 MySQL 语法树自动审查语法规范,并根据配置的规则检查 SQL 语句合规性
- SQL 查询自动补全,智能提示
- 自动生成 DDL/DML 回滚语句
- 查询结果脱敏
- 钉钉 webhook 机器人工单推送
- 基于用户细粒度权限,权限分为 DDL 权限、DML 权限、Query 权限
- 支持的数据库:MYSQL、TiDB、Aliyun-RDS、AWS-RDS
安装使用
下载安装包
下载地址 https://github.com/cookieY/Yearning/releases
修改配置文件
代码语言:javascript复制cat conf.toml
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "xxxx"
User = "xxx"
[General] #数据库加解密key,只可更改一次。
SecretKey = "dbcjqheupqjsuwsm"
初始化及安装
代码语言:javascript复制./Yearning install
启动服务
代码语言:javascript复制./Yearning run
浏览器访问
代码语言:javascript复制打开浏览器 http://127.0.0.1:8000
默认账号/密码:admin/Yearning_admin
配置工单流程
在一般场景中实现以下的审批流程:
代码语言:javascript复制开发人员 -> DBA审核并执
当业务不断扩大部门层级增多后希望拥有多层级的审批流程:
代码语言:javascript复制开发人员 -> 开发主管审批 -> 项目负责人审批-> DBA审核并执 (多层级)
对于以上的需求及场景均可通过自定义流程功能实现。
配置数据源应用到流程:
工单提交
跟据实际提单需求选择 DML/DDL/Query 中的某一类进行工单提交。
选择对应数据源卡片进入工单提交页面,在编辑 SQL 时,支持 SQL 语法高亮、自动补全, SQL检测 可以进行SQL语句检测或通过 SQL美化 按钮进行SQL语句美化。
工单审核
进入 【审核】->【工单】 页面选择需要审批的工单点击详情按钮进入该工单审核详情页。
同意按钮只有在检测语句 错误等级 均为0时才会激活,当流程最后节点人员通过后将会自动执行该工单。
审核流程:
Yearning 采用二级/多级的审核模式,执行人角色必须在开启多级审核之后才可指定,如果需要将多级审核改为二级审核,请先确保所有多级审核的工单都已确认执行。否则未执行工单将无法找回。
二级审核流程:
- 申请人向对应的工单提交单元(DDL、DML)提交工单
- 管理员收到消息后在审核工单页面审核该工单请求并执行/驳回
多级审核流程:
- 申请人向对应的工单提交单元(DDL、DML)提交工单
- 执行人收到工单后, 执行/驳回该工单,根据配置流程,继续下一个节点的审批,一直到最后一个节点
- 执行记录将会记录在该执行人用户下
项目地址
代码语言:javascript复制https://gitee.com/cookieYe/Yearning
更多其他的使用功能、细节,感兴趣的小伙伴可以自行去项目中寻找答案~