Skip to content

Commit

Permalink
fix: catalog migration w/o connection (apache#30773)
Browse files Browse the repository at this point in the history
  • Loading branch information
betodealmeida authored Nov 1, 2024
1 parent 3e29777 commit 402c29c
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions superset/migrations/shared/catalogs.py
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,17 @@ def upgrade_catalog_perms(engines: set[str] | None = None) -> None:
# analytical DB. If we can't connect to the analytical DB during the migration
# we should stop it, since we need the default catalog in order to update
# existing models.
if default_catalog := database.get_default_catalog():
try:
default_catalog = database.get_default_catalog()
except GenericDBException as ex:
logger.warning(
"Error fetching default catalog for database %s: %s",
database.database_name,
ex,
)
continue

if default_catalog:
upgrade_database_catalogs(database, default_catalog, session)

session.flush()
Expand Down Expand Up @@ -558,7 +568,17 @@ def downgrade_catalog_perms(engines: set[str] | None = None) -> None:
) or not db_engine_spec.supports_catalog:
continue

if default_catalog := database.get_default_catalog():
try:
default_catalog = database.get_default_catalog()
except GenericDBException as ex:
logger.warning(
"Error fetching default catalog for database %s: %s",
database.database_name,
ex,
)
continue

if default_catalog:
downgrade_database_catalogs(database, default_catalog, session)

session.flush()
Expand Down

0 comments on commit 402c29c

Please sign in to comment.