fix: prevent multiple pvm errors on migration (#31332)

This commit is contained in:
Elizabeth Thompson 2024-12-12 16:26:36 -08:00 committed by GitHub
parent 4ff9aac1fa
commit cd200f07a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 2 deletions

View File

@ -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",)
@ -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)