一、背景
dml审核的时候只要研发leader通过即可,这样可以减少dba工作量
二、修改
修改archery代码
vim /sql/utils/workflow_audit.py
def audit(audit_id, audit_status, audit_user, audit_remark):
# 获取工单信息
if workflow_type == WorkflowDict.workflow_type['query']:
# 添加的信息
# syntax_type = workflow_detail.syntax_type,最开始这么写的,但是会导致某些功能bug
syntax_type = 0
elif workflow_type == WorkflowDict.workflow_type['sqlreview']:
# 添加的部分
syntax_type = workflow_detail.syntax_type
elif workflow_type == WorkflowDict.workflow_type['archive']:
# 添加的部分
syntax_type = workflow_detail.syntax_type
else:
# 向审核主表插入待审核数据
audit_detail = WorkflowAudit()
audit_detail.group_id = group_id
audit_detail.group_name = group_name
audit_detail.workflow_id = workflow_id
audit_detail.workflow_type = workflow_type
audit_detail.workflow_title = workflow_title
audit_detail.workflow_remark = workflow_remark
# 修改的部分
# 根据是dml还是ddl,排除组
# 如果是dml,排除dba组,这样dml的审核就不用dba了,这里的dba组指最后一个审核组,根据自己的设定来定
# ((0, '其他'), (1, 'DDL'), (2, 'DML'))
# 这是DDL直接由dba审核
group_dba_id = Group.objects.get(name='dba').id
if syntax_type == 1:
audit_auth_groups_list = [str(group_dba_id)]
elif syntax_type == 2:
audit_auth_groups_list.remove(str(group_dba_id))
# 也可以不变原来审核流程,只在DML的时候做特殊处理
# if syntax_type == 2 and str(group_dba_id) in audit_auth_groups_list:
# audit_auth_groups_list.remove(str(group_dba_id))
audit_detail.audit_auth_groups = ','.join(audit_auth_groups_list)
audit_detail.current_audit = audit_auth_groups_list[0]
# 判断有无下级审核
if len(audit_auth_groups_list) == 1:
audit_detail.next_audit = '-1'
else:
audit_detail.next_audit = audit_auth_groups_list[1]
三、重启
重启archery,即可
版权声明:本文为line_on_database原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。