2.2211.0
SQLE Release Notes
SQL审核工具 SQLE 2.2211.0 已经发布。以下对新版本的 Release Notes 进行详细解读。
文章主要分为以下三部分内容:
一、SQLE 项目介绍
二、新版本主要功能总结
三、完整的release信息
四、鸣谢
一、SQLE 项目介绍
爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。
如何获取:
类型 | 地址 |
---|---|
版本库 | https://github.com/actiontech/sqle |
文档 | https://actiontech.github.io/sqle-docs-cn/ |
发布信息 | https://github.com/actiontech/sqle/releases |
数据审核插件开发文档 | https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html |
社区版在线体验 | http://demo.sqle.actionsky.com 超级管理员:admin,密码:admin。 |
企业版在线体验 | http://demo.sqle.actionsky.com:8889 用户:admin,密码:admin。 |
二、新版本主要功能总结
1. 支持项目管理功能
本次版本引入了项目管理的概念,以项目为入口整合各种审核功能,并在不同项目之间实现资源、人员结构和流程隔离,使得SQLE在流程组织上更贴近具体的业务场景。本次对SQLE进行了较大范围的调整,效果如下图所示。
界面布局调整
将不同层级的业务进行了分组拆分,将独立的功能使用顶部菜单管理,所有审核相关的业务操作独立使用项目页。


基于项目进行资源、权限隔离
不同的项目之间的数据源,成员权限,智能扫描任务隔离,规则、审批流程都进行了隔离。

权限系统优化调整
用户和数据源之间采用直接绑定而非角色关联,从【用户】-【角色】- 【数据源】三层绑定关系变成【用户】-【数据源】的两层结构。配置和理解的复杂度更低,能直观的查询数据源下的关联用户,并且减少了创建大量重复角色的问题。

支持普通用户进行资源管理
v1版本仅支持超管进行各种资源和权限配置,在新的项目管理功能上线后,超管可以给不同的项目配置管理员。达到实际项目负责人或DBA进行项目资源的维护,包括数据源、成员、规则等各种配置。

工单上线流程配置开放到社区版
v1版本仅企业版能进行SQL上线流程的配置,在新的项目管理功能上线后,该功能开放到社区版本。不同的项目可以配置不同的SQL上线流程,可以自定义配置审核和上线的人员。

2. 新增审核使用说明
SQLE的审核规则新增了更详细的说明。在此之前,SQLE社区版已经支持了100+条MySQL规则,面对这么多规则一些用户不太清楚应该怎么去制定一套规则集。在初次入手时显得不知所措,因此,本次将内部规则的说明通过SQLE展示出来,这些说明包括规则要避免的问题,如何解决问题等。该功能给如何制定规则标准参考依据,并使得开发人员更方便理解规则,学习规则。在全局规则页面查看规则,或编辑规则模板时,可以看到这些内容,效果如下图所示:


3. 新增MySQL审核规则
(1)新增MySQL审核规则“数据库对象名英文字母不推荐混用大小写”;
(2) 新增MySQL审核规则“字段属性为not null时必须带default默认值”。
4. 智能扫描内置scannerd功能优化
- scannerd支持配置接口调用超时时间,避免接口调用超时导致任务失败;
- scannerd mybatis扫描支持只推送SQL到sqle,不审核,满足非ci的不需要立即审核的场景;
- scannerd mybatis支持跳过扫描解析错误的xml文件。避免因为解析器不支持导致审核中断,保证审核尽可能多的xml文件。
三、完整的release信息
Release Notes
特性:
- [#1025]新增MySQL规则“数据库对象名英文字母不推荐混用大小写”;
- [#1031] 新增MySQL规则“字段属性为not null时必须带default 默认值”;
- [#960] 新增项目管理功能;
- [#1124] 新增审核规则背景说明;
- [#1127] 增加项目概览页面;
优化:
- [#1021] 对现有MySQL规则描述和默认值进行优化;
- [#1055] scannerd 命令行可指定执行超时时间;
- [#702] scannerd 支持在扫描SQL时跳过审核步骤;
- [#635] scannerd 支持跳过解析错误的xml文件,继续扫描剩余文件;
- [#1130] 全局规则页面,筛选条件把数据源改为规则模板;
- [#1131][#1132] UI界面优化调整;
- [#1157] 优化创建工单时筛选数据源的逻辑;
- [#1156] 工单概览增加点击快速跳转工单详细的功能;
缺陷修复
- [#1023] 修复VARCHAR 定义长度过长 此规则只能在建表时被检测出来,增加、修改表字段不能被检查出来的问题;
- [#566] 修复审核特定内容时审核界面会卡死的问题;
- [#1037] 修复社区版本创建工单,审核时界面无响应的问题;
- [#1002] 修复错误的白名单SQL导致pg数据源创建工单审核时出错;
- [#1089] 修复一批SQL上线时,其中某条SQL执行失败但未终止上线的问题。
四、鸣谢
感谢 @bdper0 对SQLE的使用体验并提交一批有效优化项和缺陷。