背景
- 我和同事都可以提交上線SQL,但是不能自己提交的SQL自己去審核通過(guò)。
- 目前的情況是可以自提自審。

修改代碼
- 找到
/opt/archery/sql/utils/workflow_audit.py
文件
...省略...@staticmethoddef can_review(user, workflow_id, workflow_type):audit_info = WorkflowAudit.objects.get(workflow_id=workflow_id, workflow_type=workflow_type)group_id = audit_info.group_idresult = Falseif audit_info.current_status == WorkflowDict.workflow_status["audit_wait"]:try:auth_group_id = Audit.detail_by_workflow_id(workflow_id, workflow_type).current_auditaudit_auth_group = Group.objects.get(id=auth_group_id).nameexcept Exception:raise Exception("當(dāng)前審批auth_group_id不存在,請(qǐng)檢查并清洗歷史數(shù)據(jù)")if (auth_group_users([audit_auth_group], group_id).filter(id=user.id).exists()or user.is_superuser == 1):if workflow_type == 1:if user.has_perm("sql.query_review"):result = Trueelif workflow_type == 2:if user.has_perm("sql.sql_review"):result = Trueelif workflow_type == 3:if user.has_perm("sql.archive_review"):result = Trueif group_id in [1, 2]: create_user = audit_info.create_user if create_user == user.username: result = False return result
... 省略...
group_id
是資源組ID

- 我這邊使用docker運(yùn)行,把·workflow_audit.py·文件替換就好。運(yùn)行以下命令。
docker cp workflow_audit.py archery:/opt/archery/sql/utils/
docker restart archery
效果
- 現(xiàn)在我自己的帳戶就沒(méi)有審批自己提交SQL的權(quán)限了,如下圖所示。

- 登錄別人的賬號(hào)有審核的權(quán)限,如下圖所示。

參考
- https://blog.csdn.net/line_on_database/article/details/123847361 非常感謝這位大佬