此问题是由于从Airflow 2.0.0版本开始引入的权限系统所致。由于角色可能与多个权限视图关联,删除角色时会检查这些关联并引发异常。要解决此问题,您可以使用以下代码示例将角色与其关联的所有权限视图删除:
from airflow import settings
# 获取角色
role = session.query(Role).filter_by(name='my_role').first()
# 删除角色所关联的所有权限视图
for pv in role.permissions:
role.permissions.remove(pv)
# 更新角色并提交更改
session.merge(role)
session.commit()
在上面的代码示例中,我们首先检索具有给定名称的角色。然后,我们循环遍历该角色的所有权限视图并将其从角色的权限列表中删除。最后,我们将更新的角色合并回会话中并提交更改。通过这样做,我们可以安全地删除角色而不会引发异常。
上一篇:Airflow2.1.0-DAG'XXXXXXXX'notfoundinserialized_dagtable的中文表达为Airflow2.1.0-DAG'XXXXXXXX'在序列化DAG表中未找到