actiontech / sqle Goto Github PK
View Code? Open in Web Editor NEW一个支持多种不同类型数据库,覆盖事前控制、事后监督、标准发布场景,帮助您建立质量规范的SQL全生命周期质量管理平台
License: Mozilla Public License 2.0
一个支持多种不同类型数据库,覆盖事前控制、事后监督、标准发布场景,帮助您建立质量规范的SQL全生命周期质量管理平台
License: Mozilla Public License 2.0
SQLe Version
"main-ee 2ba85ea"
Describe the bug
审核规则数据库对象命名只能使用英文、下划线或数字,首字母必须是英文未触发
To Reproduce
Steps to reproduce the behavior:
Expected behavior
期望给予相应的提示
Suggestion
Add any other context about the problem here.
目前使用的规则不明确目的,且规则偏少
使用 golangci-lint 做静态代码检查。需要启用的 linter 参考: SQLE confluence space(pageid = 32066003).
子任务跟踪:
Describe
user can't reseive any suggest when user input SQL at create order or update SQL of order or create whitelist for SQL.
Suggestion
at least we can prompt SQL keywords
Why
for user experience
Describe
当前dba角色依旧需要手动绑定数据源。在数据源比较多的情况下,需要一个一个的绑定,不利于后期维护。
Suggestion
DBA角色默认可以操作所有已配置的数据源
Why
DBA 的权限本身就应该比较大,默认操作所有数据源。这样可以避免在每次新建数据源,还得手动修改dba角色绑定的数据源
可以通过页面看到SQLE 前后端的版本信息
支持AD/LDAP部门人员信息同步
SQLe Version
main
Describe the bug
角色删除后,该角色绑定的用户还能访问绑定的数据源
To Reproduce
Expected behavior
用户1无法访问数据源1
SQLe Version
"release-1.2111.x 5d24144"
To Reproduce
Steps to reproduce the behavior:
1.创建审核计划配置jenkins 触发gitlab sqle可以看到审核计划的语句
2.把审核计划给删除,然后重新创建一个新的审核计划,名字保持跟删除的保持一致
3.gitlab触发变更,然后jenkins进行构建,然后成功了
两边的token明显不一致,但是还可以继续推送收集的sql信息
Expected behavior
期望是审核计划删除之后,对应的token会失效,应该使用最新的token来进行推送
SQLe Version
main 201d68a
Describe the bug
SQLE panic when trigger pt-osc suggestion
To Reproduce
Steps to reproduce the behavior:
CREATE DATABASE `t1`;
CREATE TABLE `t1`.`fruits` (
`id` bigint(11) NOT NULL,
`uid` int(11) NOT NULL DEFAULT '0',
`name` varchar(100) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
alter table fruits add column create_date TIMESTAMP default current_timestamp
Expected behavior
正常提示 pt-osc 建议
Exception occurred when trying to cherry-pick PR #68.
Please cherry-pick it manually.
Traceback (most recent call last):
File "/action/helpers.py", line 17, in git
command_run = subprocess.run(["git", *args], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True)
File "/usr/local/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'cherry-pick', '792572135fae2b37fc6568c012b91fefea27b340']' returned non-zero exit status 128.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/action/main.py", line 30, in backport_commits
git("cherry-pick", commit_hash)
File "/action/helpers.py", line 26, in git
raise GitException(output)
helpers.GitException: fatal: bad object 792572135fae2b37fc6568c012b91fefea27b340
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/action/main.py", line 69, in <module>
entrypoint(
File "/action/main.py", line 47, in entrypoint
new_branch = backport_commits(commits_to_backport, base_branch, pr_branch)
File "/action/main.py", line 33, in backport_commits
raise RuntimeError("Could not cherry pick at least one commit automatically.")
RuntimeError: Could not cherry pick at least one commit automatically.
SQLe Version
Version:"release-1.2111.x 382da4a"
Describe the bug
ldap类型的用户已经在sqle生成了,然后在ldap把这个用户删除,再次使用这个用户登录sqle,报错信息不是很明确有点看不明白
To Reproduce
Steps to reproduce the behavior:
Expected behavior
期望是给到已经在ldap查询过了,该用户不存在这样的报错
SQLe Version
"release-1.2111.x 3d69edc"
To Reproduce
Steps to reproduce the behavior:
1.添加一个oracle数据源,然后绑定到oracle默认的审核规则模板上
2.修改oracle默认审核规则模板,关闭审核规则后
3.然后创建工单,使用oracle数据源,使用select * from test.t1;然后点击审核依旧给出了审核规则提示信息
理论我是关闭了该审核规则的,所以我点击审核不应该是有这个审核规则会触发的。所以期望是没有开启对应的审核规则就不会触发审核提示
Exception occurred when trying to cherry-pick PR #84.
Please cherry-pick it manually.
Traceback (most recent call last):
File "/action/helpers.py", line 17, in git
command_run = subprocess.run(["git", *args], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True)
File "/usr/local/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'cherry-pick', 'c6900f7edce50a4a2ef4f1c34ccc62fb6b64a512']' returned non-zero exit status 128.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/action/main.py", line 30, in backport_commits
git("cherry-pick", commit_hash)
File "/action/helpers.py", line 26, in git
raise GitException(output)
helpers.GitException: fatal: bad object c6900f7edce50a4a2ef4f1c34ccc62fb6b64a512
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/action/main.py", line 69, in <module>
entrypoint(
File "/action/main.py", line 47, in entrypoint
new_branch = backport_commits(commits_to_backport, base_branch, pr_branch)
File "/action/main.py", line 33, in backport_commits
raise RuntimeError("Could not cherry pick at least one commit automatically.")
RuntimeError: Could not cherry pick at least one commit automatically.
SQLe Version
sqle-main_f1d3ea532e1d2762f0a351c8c775
Describe the bug
审核计划创建界面填写好信息点击创建,然后再次修改,提示信息有误
To Reproduce
Steps to reproduce the behavior:
Expected behavior
该审核计划在第一步的时候已经创建了,后续还在这个界面进行编辑理论上又是一次新的创建审核计划的动作,但是应该提示该审核计划已经存在,而不是提示审核计划不存在。
Suggestion
Add any other context about the problem here.
SQLe Version
sqle-main_f1d3ea532e1d2762f0a351c8c775
Describe the bug
当一个存在收集的sql语句的审核计划被删除之后,再次创建新的审核计划使用它的名字可以看到之前的sql
To Reproduce
Steps to reproduce the behavior:
1.找到一个存在sql信息的审核计划
2.把该审核计划给删除
3.使用刚刚删除的审核计划名再次创建新的审核计划
4.然后点击该审核计划可以看到之前删除审核计划内收集的sql语句
Expected behavior
期望创建新的审核计划不会展示之前的审核计划内收集的sql信息
Suggestion
Add any other context about the problem here.
for most database.
Describe
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Suggestion
A clear and concise description of what you want to happen.
Why
Why it can solve your problem.
1:支持导入钉钉、企业微信的部门组织结构和人员信息
2:支持跨部门实例访问的权限申请,如:A部门的员工甲想要访问B部门的某个实例。
SQLe Version
main a87c83d
Describe the bug
check instance connectable behavior different between pg plugin and oracle plugin
To Reproduce
Steps to reproduce the behavior:
Expected behavior
a. HTTP code 200 with custom API result
b. connect failed on UI
Suggestion
nil
SQLe Version
main e1fafc0
Describe the bug
在sqle启动时如果通过命令行参数启动且有些参数没填会爆出空指针异常
To Reproduce
在启动时不指定任何参数即可触发, 只指定mysql相关参数也可以触发
Expected behavior
SQLe Version
Version:"release-1.2111.x 382da4a"
Describe the bug
ladp账号登录到sqle平台后,sqle对该类型的用户重置密码功能未作限制,可以重置密码,但是实际上登录sqle还是需要ldap配置的密码
To Reproduce
Steps to reproduce the behavior:
Expected behavior
期望在sqle平台对ldap类型的用户进行重置密码功能使用的限制,不应该让用户在sqle进行密码修改,应该让用户去ldap上去修改密码
因为当前做pgsql ddl会存在锁的问题,每次做都加lock_timeout不是太靠谱,过亿数据通常都要设置大于120s,但此时程序锁执行的sql都被blocked,想咨询当前是否支持,若不支持是否有排期支持
现在用户管理用户名不支持中文,且无法设置姓名,后续过程中也只是以用户名显示,希望可以用姓名来代替用户名的显示在工单流转过程中。
希望支持手机号码填写功能
Exception occurred when trying to cherry-pick PR #68.
Please cherry-pick it manually.
Traceback (most recent call last):
File "/action/helpers.py", line 17, in git
command_run = subprocess.run(["git", *args], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True)
File "/usr/local/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'cherry-pick', '792572135fae2b37fc6568c012b91fefea27b340']' returned non-zero exit status 128.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/action/main.py", line 30, in backport_commits
git("cherry-pick", commit_hash)
File "/action/helpers.py", line 26, in git
raise GitException(output)
helpers.GitException: fatal: bad object 792572135fae2b37fc6568c012b91fefea27b340
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/action/main.py", line 69, in <module>
entrypoint(
File "/action/main.py", line 47, in entrypoint
new_branch = backport_commits(commits_to_backport, base_branch, pr_branch)
File "/action/main.py", line 33, in backport_commits
raise RuntimeError("Could not cherry pick at least one commit automatically.")
RuntimeError: Could not cherry pick at least one commit automatically.
现有的规则中,部分规则使用固定的数值,例如 “普通索引必须要以"idx_"为前缀”,无法通过配置 value 改变“idx_“的数值,导致该规则无法通用,对于不同的公司这个规则可能不一样,有的公司可能是其他前缀。
“普通索引必须要以"idx_"为前缀” 改为 “普通索引必须使用固定前缀”,对于value默认为 “idx_”
希望能支持postgresql和oracle,这两块的功能现在是比较缺的
Describe
Version:
"release-1.2112.x-ee ec268e8"
1.创建一个工单,然后选择定时上线任务,点击选择时间
2.然后点击此刻,直接回到了定时任务时间确认框
3.如果此时点击定时上线,那么尤其选择时间是精确到秒,所以导致定时上线不成功
Suggestion
所以期望的是点击此刻之后,应该还在选择时间,此刻功能个人理解是快速帮你定位当前时间,所以点击此刻之后可以根据自己工作量安排来设置当前时间之后的几分钟或者几小时之类的,而不是点击此刻之后就立即退出选择时间框
Why
容易误导用户点击此刻之后可以直接使用定时上线功能
SQLe Version
SQLe Version:
"release-1.2112.x-ee ec268e8"
To Reproduce
1.创建一个工单,审核语句为select * from mysql.test
2.点击审核,然后执行立即上线
3.查看工单状态,显示上线失败,然后进入到该工单内,点击关闭工单,无法关闭
Expected behavior
是否考虑对于上线失败的工单可以不提供关闭工单的按钮展示,或者对于上线失败的工单可以使用关闭工单功能是其强制关闭
SQLe Version
main f1d3ea5
Describe the bug
无
To Reproduce
Expected behavior
希望信息带有mysql
的那行能正常展示
Suggestion
无
SQLe Version
sqle-main_6ecfd2b39eee16350bd52ea07633
Describe the bug
The sqle-scanner service cannot be started
To Reproduce
Steps to reproduce the behavior:
Expected behavior
期望scanner的慢日志功能可以正常启动
Suggestion
Add any other context about the problem here.
不同的数据库的SQL 审核流程是相同的,但是规则上会有不一样,因此对于不同的数据库支持可通过 Plugin 的形式实现,以实现以下目标
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.