Skip to content

Commit

Permalink
fix: prevent multiple pvm errors on migration (apache#31332)
Browse files Browse the repository at this point in the history
  • Loading branch information
eschutho authored Dec 13, 2024
1 parent 4ff9aac commit cd200f0
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions superset/migrations/shared/catalogs.py
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,9 @@ def upgrade_schema_perms(
.filter_by(name=current_perm)
.one_or_none()
):
existing_pvm.name = new_perm
# check that new_perm does not exist
if not session.query(ViewMenu).filter_by(name=new_perm).one_or_none():
existing_pvm.name = new_perm
elif new_perm:
# new schema discovered, need to create a new permission
perms[new_perm] = ("schema_access",)
Expand Down Expand Up @@ -683,7 +685,9 @@ def downgrade_schema_perms(
None,
schema,
)
pvms_to_rename.append((pvm, new_name))
# check to see if the new name already exists
if not session.query(ViewMenu).filter_by(name=new_name).one_or_none():
pvms_to_rename.append((pvm, new_name))
else:
# non-default catalog, delete schema perm
pvms_to_delete.append(pvm)
Expand Down

0 comments on commit cd200f0

Please sign in to comment.