From 185fbc73db216d1044182cdc6fbb22b8b243deea Mon Sep 17 00:00:00 2001 From: Jesse Yang Date: Wed, 20 Apr 2022 10:19:08 -0700 Subject: [PATCH 1/2] fix(SIP-68): handle empty table name during migration --- .../versions/a9422eeaae74_new_dataset_models_take_2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py b/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py index 0ded98b93cd98..a7051f32c970d 100644 --- a/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py +++ b/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py @@ -577,7 +577,7 @@ def print_update_count(): drivername = (sqlalchemy_uri or "").split("://")[0] updates = {} updated = False - if is_physical and drivername: + if is_physical and drivername and expression: quoted_expression = get_identifier_quoter(drivername)(expression) if quoted_expression != expression: updates["expression"] = quoted_expression From 639ab5c937c0eb70efb21357fc5978a815c3216f Mon Sep 17 00:00:00 2001 From: Jesse Yang Date: Wed, 20 Apr 2022 11:37:48 -0700 Subject: [PATCH 2/2] clean up --- .../versions/a9422eeaae74_new_dataset_models_take_2.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py b/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py index a7051f32c970d..9a2498bfa8590 100644 --- a/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py +++ b/superset/migrations/versions/a9422eeaae74_new_dataset_models_take_2.py @@ -42,7 +42,6 @@ from sqlalchemy.sql.expression import and_, or_ from sqlalchemy_utils import UUIDType -from superset import app, db from superset.connectors.sqla.models import ADDITIVE_METRIC_TYPES_LOWER from superset.connectors.sqla.utils import get_dialect_name, get_identifier_quoter from superset.extensions import encrypted_field_factory @@ -51,8 +50,6 @@ from superset.utils.core import MediumText Base = declarative_base() -custom_password_store = app.config["SQLALCHEMY_CUSTOM_PASSWORD_STORE"] -DB_CONNECTION_MUTATOR = app.config["DB_CONNECTION_MUTATOR"] SHOW_PROGRESS = os.environ.get("SHOW_PROGRESS") == "1" UNKNOWN_TYPE = "UNKNOWN" @@ -871,7 +868,7 @@ def reset_postgres_id_sequence(table: str) -> None: def upgrade() -> None: bind = op.get_bind() - session: Session = db.Session(bind=bind) + session: Session = Session(bind=bind) Base.metadata.drop_all(bind=bind, tables=new_tables) Base.metadata.create_all(bind=bind, tables=new_tables)