archery修改为不能自提自审核上线SQL

目录

背景

  • 我和同事都可以提交上线SQL,但是不能自己提交的SQL自己去审核通过。
  • 目前的情况是可以自提自审。

修改代码

  • 找到/opt/archery/sql/utils/workflow_audit.py文件
python 复制代码
...省略...
     # 判断用户当前是否是可审核
    @staticmethod
    def 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_id
        result = False
        # 只有待审核状态数据才可以审核
        if audit_info.current_status == WorkflowDict.workflow_status["audit_wait"]:
            try:
                auth_group_id = Audit.detail_by_workflow_id(
                    workflow_id, workflow_type
                ).current_audit
                audit_auth_group = Group.objects.get(id=auth_group_id).name
            except Exception:
                raise Exception("当前审批auth_group_id不存在,请检查并清洗历史数据")
            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 = True
                elif workflow_type == 2:
                    if user.has_perm("sql.sql_review"):
                        result = True
                elif workflow_type == 3:
                    if user.has_perm("sql.archive_review"):
                        result = True

        if group_id in [1, 2]:    # 增加
            create_user = audit_info.create_user  # 增加
            if create_user == user.username:  # 增加
                result = False   # 增加
        return result
... 省略...
  • group_id 是资源组ID
  • 我这边使用docker运行,把·workflow_audit.py·文件替换就好。运行以下命令。
bash 复制代码
docker cp workflow_audit.py archery:/opt/archery/sql/utils/
  • 然后重启
bash 复制代码
docker restart archery

效果

  • 现在我自己的帐户就没有审批自己提交SQL的权限了,如下图所示。
  • 登录别人的账号有审核的权限,如下图所示。

参考

相关推荐
阳光九叶草LXGZXJ3 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
字节渡客4 小时前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
OnlineProxy6 小时前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
辻弋2017 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
可乐鸡翅yeah_8 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
石头麻辣鱼9 小时前
Bamboo 调度系统 OceanBase 适配实战:存储过程迁移踩过的三个大坑
数据库
龙亘川9 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
念何架构之路9 小时前
zap扩展生态与总结
java·前端·数据库
晚安日记wanna10 小时前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化
第七页独白10 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库