This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 5f62deaa36 chore: use create table util  (#33072)
5f62deaa36 is described below

commit 5f62deaa366896db97c211951e3dbd323433156c
Author: Elizabeth Thompson <[email protected]>
AuthorDate: Mon Apr 14 19:01:11 2025 -0700

    chore: use create table util  (#33072)
---
 superset/migrations/migration_utils.py             | 13 ++++++++++
 superset/migrations/shared/utils.py                | 13 +++++-----
 .../versions/2015-09-21_17-30_4e6a06bad7a8_init.py | 30 ++++++++++++----------
 ...15-12-04_11-16_315b3f4da9b0_adding_log_model.py | 10 +++++---
 .../versions/2016-01-13_20-24_8e80a26a31db_.py     | 10 +++++---
 .../2016-02-03_17-41_d827694c7555_css_templates.py | 10 +++++---
 ...3-13_09-56_a2d606a761d9_adding_favstar_model.py | 10 +++++---
 ...04-15_17-58_4fa88fe24e94_owners_many_to_many.py | 12 +++++----
 ...016-07-25_17-48_ad82a75afd82_add_query_model.py | 10 +++++---
 ..._17-39_5e4a03ef0bf0_add_request_access_model.py |  4 ++-
 .../2017-01-10_11-47_bcf3126872fc_add_keyvalue.py  | 10 +++++---
 .../2017-09-13_16-36_ddd6ebdd853b_annotations.py   |  6 +++--
 ..._20-28_6c7537a6004a_models_for_email_reports.py | 12 +++++----
 ...e1b21cd94a4_change_owner_to_m2m_relation_on_.py |  5 ++--
 ...05_db4b49eb0782_add_tables_for_sql_lab_state.py | 12 +++++----
 ...4_17-07_0a6f12f60c73_add_role_level_security.py | 12 +++++----
 ...57699a813e_add_tables_relation_to_row_level_.py | 13 +++++-----
 .../2020-05-26_23-21_2f1d15e8a6af_add_alerts.py    | 14 +++++-----
 .../2020-08-28_17-16_175ea3592453_cache_lookup.py  | 10 +++++---
 ...-08-31_20-30_2e5a0ee25ed4_refractor_alerting.py | 16 +++++++-----
 ...208f_collapse_alerting_models_into_a_single_.py |  9 ++++---
 ...1-04_11-06_49b5a32daba5_add_report_schedules.py | 18 +++++++------
 ...cdd12658_add_roles_relationship_to_dashboard.py |  9 ++++---
 ...021-03-29_11-15_3ebe0993c770_filterset_table.py | 10 +++++---
 ...03_5afbb1a5849b_add_embedded_dahshoard_table.py | 16 +++++++-----
 ...03-04_09-59_6766938c6065_add_key_value_store.py | 16 +++++++-----
 ...c2d8ec8595_create_ssh_tunnel_credentials_tbl.py | 21 +++++++--------
 ...06-01_13-13_83e1abbe777f_drop_access_request.py | 10 +++++---
 ...0-34_e0f6f91c2055_create_user_favorite_table.py | 10 +++++---
 ...20_16-02_678eefb4ab44_add_access_token_table.py | 17 +++++++-----
 ...02f4f7811799_remove_sl_dataset_columns_table.py |  4 +--
 ...7_39549add7bfc_remove_sl_table_columns_table.py |  4 +--
 ..._15-23_38f4144e8558_remove_sl_dataset_tables.py |  4 +--
 ...3_15-27_e53fd48cc078_remove_sl_dataset_users.py |  4 +--
 ...4-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py |  4 +--
 ...24-08-13_15-31_007a1abffe7e_remove_sl_tables.py |  4 +--
 ...-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py |  4 +--
 37 files changed, 232 insertions(+), 164 deletions(-)

diff --git a/superset/migrations/migration_utils.py 
b/superset/migrations/migration_utils.py
index 99229a1029..1dc0e08383 100644
--- a/superset/migrations/migration_utils.py
+++ b/superset/migrations/migration_utils.py
@@ -16,6 +16,7 @@
 # under the License.
 
 from alembic.operations import Operations
+from sqlalchemy.engine.reflection import Inspector
 
 naming_convention = {
     "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
@@ -26,6 +27,18 @@ naming_convention = {
 def create_unique_constraint(
     op: Operations, index_id: str, table_name: str, uix_columns: list[str]
 ) -> None:
+    # Get the database connection and inspector
+    bind = op.get_bind()
+    inspector = Inspector.from_engine(bind)
+
+    # Check if the unique constraint already exists
+    existing_constraints = inspector.get_unique_constraints(table_name)
+    for constraint in existing_constraints:
+        if constraint["name"] == index_id:
+            # Constraint already exists, no need to create it
+            return
+
+    # Create the unique constraint if it doesn't exist
     with op.batch_alter_table(
         table_name, naming_convention=naming_convention
     ) as batch_op:
diff --git a/superset/migrations/shared/utils.py 
b/superset/migrations/shared/utils.py
index 32e7710729..6ee4137af6 100644
--- a/superset/migrations/shared/utils.py
+++ b/superset/migrations/shared/utils.py
@@ -226,24 +226,25 @@ def drop_fks_for_table(
             op.drop_constraint(fk_name, table_name, type_="foreignkey")
 
 
-def create_table(table_name: str, *columns: SchemaItem) -> None:
+def create_table(table_name: str, *columns: SchemaItem, **kwargs: Any) -> None:
     """
     Creates a database table with the specified name and columns.
 
     This function checks if a table with the given name already exists in the 
database.
     If the table already exists, it logs an informational.
-    Otherwise, it proceeds to create a new table using the provided name and 
schema columns.
+    Otherwise, it proceeds to create a new table using the provided name
+    and schema columns.
 
     :param table_name: The name of the table to be created.
-    :param columns: A variable number of arguments representing the schema 
just like when calling alembic's method create_table()
-    """  # noqa: E501
-
+    :param columns: A variable number of arguments representing the schema
+    just like when calling alembic's method create_table()
+    """
     if has_table(table_name=table_name):
         logger.info(f"Table {LRED}{table_name}{RESET} already exists. 
Skipping...")
         return
 
     logger.info(f"Creating table {GREEN}{table_name}{RESET}...")
-    op.create_table(table_name, *columns)
+    op.create_table(table_name, *columns, **kwargs)
     logger.info(f"Table {GREEN}{table_name}{RESET} created.")
 
 
diff --git a/superset/migrations/versions/2015-09-21_17-30_4e6a06bad7a8_init.py 
b/superset/migrations/versions/2015-09-21_17-30_4e6a06bad7a8_init.py
index cd0f74eaff..ab34ab9e55 100644
--- a/superset/migrations/versions/2015-09-21_17-30_4e6a06bad7a8_init.py
+++ b/superset/migrations/versions/2015-09-21_17-30_4e6a06bad7a8_init.py
@@ -22,17 +22,19 @@ Create Date: 2015-09-21 17:30:38.442998
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "4e6a06bad7a8"
 down_revision = None
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
     ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "clusters",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -54,7 +56,7 @@ def upgrade():
         sa.PrimaryKeyConstraint("id"),
         sa.UniqueConstraint("cluster_name"),
     )
-    op.create_table(
+    create_table(
         "dashboards",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -69,7 +71,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "dbs",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -85,7 +87,7 @@ def upgrade():
         sa.PrimaryKeyConstraint("id"),
         sa.UniqueConstraint("database_name"),
     )
-    op.create_table(
+    create_table(
         "datasources",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -111,7 +113,7 @@ def upgrade():
         sa.PrimaryKeyConstraint("id"),
         sa.UniqueConstraint("datasource_name"),
     )
-    op.create_table(
+    create_table(
         "tables",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -129,7 +131,7 @@ def upgrade():
         sa.PrimaryKeyConstraint("id"),
         sa.UniqueConstraint("table_name"),
     )
-    op.create_table(
+    create_table(
         "columns",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -153,7 +155,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "metrics",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("metric_name", sa.String(length=512), nullable=True),
@@ -170,7 +172,7 @@ def upgrade():
         sa.ForeignKeyConstraint(["datasource_name"], 
["datasources.datasource_name"]),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "slices",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -195,7 +197,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "sql_metrics",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -214,7 +216,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "table_columns",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
@@ -239,7 +241,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "dashboard_slices",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column(
diff --git 
a/superset/migrations/versions/2015-12-04_11-16_315b3f4da9b0_adding_log_model.py
 
b/superset/migrations/versions/2015-12-04_11-16_315b3f4da9b0_adding_log_model.py
index 5f12821399..5a0121c242 100644
--- 
a/superset/migrations/versions/2015-12-04_11-16_315b3f4da9b0_adding_log_model.py
+++ 
b/superset/migrations/versions/2015-12-04_11-16_315b3f4da9b0_adding_log_model.py
@@ -22,16 +22,18 @@ Create Date: 2015-12-04 11:16:58.226984
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "315b3f4da9b0"
 down_revision = "1a48a5411020"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "logs",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("action", sa.String(length=512), nullable=True),
diff --git a/superset/migrations/versions/2016-01-13_20-24_8e80a26a31db_.py 
b/superset/migrations/versions/2016-01-13_20-24_8e80a26a31db_.py
index e0f85c3a5b..6f44f7a0a9 100644
--- a/superset/migrations/versions/2016-01-13_20-24_8e80a26a31db_.py
+++ b/superset/migrations/versions/2016-01-13_20-24_8e80a26a31db_.py
@@ -22,16 +22,18 @@ Create Date: 2016-01-13 20:24:45.256437
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "8e80a26a31db"
 down_revision = "2591d77e9831"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "url",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
diff --git 
a/superset/migrations/versions/2016-02-03_17-41_d827694c7555_css_templates.py 
b/superset/migrations/versions/2016-02-03_17-41_d827694c7555_css_templates.py
index f65582563c..40d2c4f136 100644
--- 
a/superset/migrations/versions/2016-02-03_17-41_d827694c7555_css_templates.py
+++ 
b/superset/migrations/versions/2016-02-03_17-41_d827694c7555_css_templates.py
@@ -22,16 +22,18 @@ Create Date: 2016-02-03 17:41:10.944019
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "d827694c7555"
 down_revision = "43df8de3a5f4"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "css_templates",
         sa.Column("created_on", sa.DateTime(), nullable=False),
         sa.Column("changed_on", sa.DateTime(), nullable=False),
diff --git 
a/superset/migrations/versions/2016-03-13_09-56_a2d606a761d9_adding_favstar_model.py
 
b/superset/migrations/versions/2016-03-13_09-56_a2d606a761d9_adding_favstar_model.py
index b2ba067495..f8e4aacabc 100644
--- 
a/superset/migrations/versions/2016-03-13_09-56_a2d606a761d9_adding_favstar_model.py
+++ 
b/superset/migrations/versions/2016-03-13_09-56_a2d606a761d9_adding_favstar_model.py
@@ -22,16 +22,18 @@ Create Date: 2016-03-13 09:56:58.329512
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "a2d606a761d9"
 down_revision = "18e88e1cc004"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "favstar",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=True),
diff --git 
a/superset/migrations/versions/2016-04-15_17-58_4fa88fe24e94_owners_many_to_many.py
 
b/superset/migrations/versions/2016-04-15_17-58_4fa88fe24e94_owners_many_to_many.py
index bbb015775e..bdb141fe83 100644
--- 
a/superset/migrations/versions/2016-04-15_17-58_4fa88fe24e94_owners_many_to_many.py
+++ 
b/superset/migrations/versions/2016-04-15_17-58_4fa88fe24e94_owners_many_to_many.py
@@ -22,16 +22,18 @@ Create Date: 2016-04-15 17:58:33.842012
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "4fa88fe24e94"
 down_revision = "b4456560d4f3"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "dashboard_user",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=True),
@@ -40,7 +42,7 @@ def upgrade():
         sa.ForeignKeyConstraint(["user_id"], ["ab_user.id"]),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "slice_user",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=True),
diff --git 
a/superset/migrations/versions/2016-07-25_17-48_ad82a75afd82_add_query_model.py 
b/superset/migrations/versions/2016-07-25_17-48_ad82a75afd82_add_query_model.py
index c62ac0c41a..2260d627c6 100644
--- 
a/superset/migrations/versions/2016-07-25_17-48_ad82a75afd82_add_query_model.py
+++ 
b/superset/migrations/versions/2016-07-25_17-48_ad82a75afd82_add_query_model.py
@@ -22,16 +22,18 @@ Create Date: 2016-07-25 17:48:12.771103
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "ad82a75afd82"
 down_revision = "f162a1dea4c4"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "query",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("client_id", sa.String(length=11), nullable=False),
diff --git 
a/superset/migrations/versions/2016-09-09_17-39_5e4a03ef0bf0_add_request_access_model.py
 
b/superset/migrations/versions/2016-09-09_17-39_5e4a03ef0bf0_add_request_access_model.py
index cfba54e8be..fcd739d68a 100644
--- 
a/superset/migrations/versions/2016-09-09_17-39_5e4a03ef0bf0_add_request_access_model.py
+++ 
b/superset/migrations/versions/2016-09-09_17-39_5e4a03ef0bf0_add_request_access_model.py
@@ -25,13 +25,15 @@ Create Date: 2016-09-09 17:39:57.846309
 import sqlalchemy as sa
 from alembic import op
 
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "5e4a03ef0bf0"
 down_revision = "b347b202819b"
 
 
 def upgrade():
-    op.create_table(
+    create_table(
         "access_request",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2017-01-10_11-47_bcf3126872fc_add_keyvalue.py 
b/superset/migrations/versions/2017-01-10_11-47_bcf3126872fc_add_keyvalue.py
index e409738907..4c13d968d8 100644
--- a/superset/migrations/versions/2017-01-10_11-47_bcf3126872fc_add_keyvalue.py
+++ b/superset/migrations/versions/2017-01-10_11-47_bcf3126872fc_add_keyvalue.py
@@ -22,17 +22,19 @@ Create Date: 2017-01-10 11:47:56.306938
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "bcf3126872fc"
 down_revision = "f18570e03440"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
     ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "keyvalue",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("value", sa.Text(), nullable=False),
diff --git 
a/superset/migrations/versions/2017-09-13_16-36_ddd6ebdd853b_annotations.py 
b/superset/migrations/versions/2017-09-13_16-36_ddd6ebdd853b_annotations.py
index eb06712333..f999b69fc1 100644
--- a/superset/migrations/versions/2017-09-13_16-36_ddd6ebdd853b_annotations.py
+++ b/superset/migrations/versions/2017-09-13_16-36_ddd6ebdd853b_annotations.py
@@ -25,6 +25,8 @@ Create Date: 2017-09-13 16:36:39.144489
 import sqlalchemy as sa
 from alembic import op
 
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "ddd6ebdd853b"
 down_revision = "ca69c70ec99b"
@@ -32,7 +34,7 @@ down_revision = "ca69c70ec99b"
 
 def upgrade():
     # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "annotation_layer",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -45,7 +47,7 @@ def upgrade():
         sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"]),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "annotation",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2018-05-15_20-28_6c7537a6004a_models_for_email_reports.py
 
b/superset/migrations/versions/2018-05-15_20-28_6c7537a6004a_models_for_email_reports.py
index 3b53fc5991..92e5471c26 100644
--- 
a/superset/migrations/versions/2018-05-15_20-28_6c7537a6004a_models_for_email_reports.py
+++ 
b/superset/migrations/versions/2018-05-15_20-28_6c7537a6004a_models_for_email_reports.py
@@ -22,17 +22,19 @@ Create Date: 2018-05-15 20:28:51.977572
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "6c7537a6004a"
 down_revision = "a61b40f9f57f"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
     # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "dashboard_email_schedules",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -62,7 +64,7 @@ def upgrade():
         ["active"],
         unique=False,
     )
-    op.create_table(
+    create_table(
         "slice_email_schedules",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2018-12-15_12-34_3e1b21cd94a4_change_owner_to_m2m_relation_on_.py
 
b/superset/migrations/versions/2018-12-15_12-34_3e1b21cd94a4_change_owner_to_m2m_relation_on_.py
index 332fe88e53..7a1b43331b 100644
--- 
a/superset/migrations/versions/2018-12-15_12-34_3e1b21cd94a4_change_owner_to_m2m_relation_on_.py
+++ 
b/superset/migrations/versions/2018-12-15_12-34_3e1b21cd94a4_change_owner_to_m2m_relation_on_.py
@@ -27,6 +27,7 @@ from alembic import op
 
 # revision identifiers, used by Alembic.
 from superset import db
+from superset.migrations.shared.utils import create_table
 from superset.utils.core import generic_find_fk_constraint_name
 
 revision = "3e1b21cd94a4"
@@ -65,7 +66,7 @@ DruidDatasource = sa.Table(
 
 
 def upgrade():
-    op.create_table(
+    create_table(
         "sqlatable_user",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=True),
@@ -74,7 +75,7 @@ def upgrade():
         sa.ForeignKeyConstraint(["user_id"], ["ab_user.id"]),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "druiddatasource_user",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=True),
diff --git 
a/superset/migrations/versions/2019-11-13_11-05_db4b49eb0782_add_tables_for_sql_lab_state.py
 
b/superset/migrations/versions/2019-11-13_11-05_db4b49eb0782_add_tables_for_sql_lab_state.py
index 44efe9c8ad..3172679fd7 100644
--- 
a/superset/migrations/versions/2019-11-13_11-05_db4b49eb0782_add_tables_for_sql_lab_state.py
+++ 
b/superset/migrations/versions/2019-11-13_11-05_db4b49eb0782_add_tables_for_sql_lab_state.py
@@ -22,17 +22,19 @@ Create Date: 2019-11-13 11:05:30.122167
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "db4b49eb0782"
 down_revision = "78ee127d0d1d"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
     # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "tab_state",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -59,7 +61,7 @@ def upgrade():
         sqlite_autoincrement=True,
     )
     op.create_index(op.f("ix_tab_state_id"), "tab_state", ["id"], unique=True)
-    op.create_table(
+    create_table(
         "table_schema",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2019-12-04_17-07_0a6f12f60c73_add_role_level_security.py
 
b/superset/migrations/versions/2019-12-04_17-07_0a6f12f60c73_add_role_level_security.py
index d248578707..35fbfe1218 100644
--- 
a/superset/migrations/versions/2019-12-04_17-07_0a6f12f60c73_add_role_level_security.py
+++ 
b/superset/migrations/versions/2019-12-04_17-07_0a6f12f60c73_add_role_level_security.py
@@ -22,16 +22,18 @@ Create Date: 2019-12-04 17:07:54.390805
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "0a6f12f60c73"
 down_revision = "3325d4caccc8"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "row_level_security_filters",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -45,7 +47,7 @@ def upgrade():
         sa.ForeignKeyConstraint(["table_id"], ["tables.id"]),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "rls_filter_roles",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("role_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2020-04-24_10-46_e557699a813e_add_tables_relation_to_row_level_.py
 
b/superset/migrations/versions/2020-04-24_10-46_e557699a813e_add_tables_relation_to_row_level_.py
index 1efa321b60..1ca6edd7f3 100644
--- 
a/superset/migrations/versions/2020-04-24_10-46_e557699a813e_add_tables_relation_to_row_level_.py
+++ 
b/superset/migrations/versions/2020-04-24_10-46_e557699a813e_add_tables_relation_to_row_level_.py
@@ -22,22 +22,23 @@ Create Date: 2020-04-24 10:46:24.119363
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+from superset.utils.core import generic_find_fk_constraint_name
+
 # revision identifiers, used by Alembic.
 revision = "e557699a813e"
 down_revision = "743a117f0d98"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
-from superset.utils.core import generic_find_fk_constraint_name  # noqa: E402
-
 
 def upgrade():
     bind = op.get_bind()
     metadata = sa.MetaData(bind=bind)
     insp = sa.engine.reflection.Inspector.from_engine(bind)
 
-    rls_filter_tables = op.create_table(
+    rls_filter_tables = create_table(
         "rls_filter_tables",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("table_id", sa.Integer(), nullable=True),
diff --git 
a/superset/migrations/versions/2020-05-26_23-21_2f1d15e8a6af_add_alerts.py 
b/superset/migrations/versions/2020-05-26_23-21_2f1d15e8a6af_add_alerts.py
index c0243717f4..24e7483304 100644
--- a/superset/migrations/versions/2020-05-26_23-21_2f1d15e8a6af_add_alerts.py
+++ b/superset/migrations/versions/2020-05-26_23-21_2f1d15e8a6af_add_alerts.py
@@ -22,17 +22,19 @@ Create Date: 2020-05-26 23:21:50.059635
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "2f1d15e8a6af"
 down_revision = "a72cb0ebeb22"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
     # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "alerts",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("label", sa.String(length=150), nullable=False),
@@ -59,7 +61,7 @@ def upgrade():
         sa.PrimaryKeyConstraint("id"),
     )
     op.create_index(op.f("ix_alerts_active"), "alerts", ["active"], 
unique=False)
-    op.create_table(
+    create_table(
         "alert_logs",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("scheduled_dttm", sa.DateTime(), nullable=True),
@@ -73,7 +75,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "alert_owner",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=True),
diff --git 
a/superset/migrations/versions/2020-08-28_17-16_175ea3592453_cache_lookup.py 
b/superset/migrations/versions/2020-08-28_17-16_175ea3592453_cache_lookup.py
index da3cd807db..9856c369ef 100644
--- a/superset/migrations/versions/2020-08-28_17-16_175ea3592453_cache_lookup.py
+++ b/superset/migrations/versions/2020-08-28_17-16_175ea3592453_cache_lookup.py
@@ -22,16 +22,18 @@ Create Date: 2020-08-28 17:16:57.379425
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "175ea3592453"
 down_revision = "f80a3b88324b"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "cache_keys",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("cache_key", sa.String(256), nullable=False),
diff --git 
a/superset/migrations/versions/2020-08-31_20-30_2e5a0ee25ed4_refractor_alerting.py
 
b/superset/migrations/versions/2020-08-31_20-30_2e5a0ee25ed4_refractor_alerting.py
index d6c2b4a531..3dbaac5ee3 100644
--- 
a/superset/migrations/versions/2020-08-31_20-30_2e5a0ee25ed4_refractor_alerting.py
+++ 
b/superset/migrations/versions/2020-08-31_20-30_2e5a0ee25ed4_refractor_alerting.py
@@ -22,18 +22,20 @@ Create Date: 2020-08-31 20:30:30.781478
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+from sqlalchemy.dialects import mysql
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "2e5a0ee25ed4"
 down_revision = "f80a3b88324b"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-from sqlalchemy.dialects import mysql  # noqa: E402
-
 
 def upgrade():
     # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "alert_validators",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -57,7 +59,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "sql_observers",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -85,7 +87,7 @@ def upgrade():
         ),
         sa.PrimaryKeyConstraint("id"),
     )
-    op.create_table(
+    create_table(
         "sql_observations",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("dttm", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2020-10-05_18-10_af30ca79208f_collapse_alerting_models_into_a_single_.py
 
b/superset/migrations/versions/2020-10-05_18-10_af30ca79208f_collapse_alerting_models_into_a_single_.py
index 9502a66f4d..3ba58ecd77 100644
--- 
a/superset/migrations/versions/2020-10-05_18-10_af30ca79208f_collapse_alerting_models_into_a_single_.py
+++ 
b/superset/migrations/versions/2020-10-05_18-10_af30ca79208f_collapse_alerting_models_into_a_single_.py
@@ -29,6 +29,7 @@ from sqlalchemy.ext.declarative import declarative_base, 
declared_attr
 from sqlalchemy.orm import backref, relationship, RelationshipProperty
 
 from superset import db
+from superset.migrations.shared.utils import create_table
 from superset.utils.core import generic_find_fk_constraint_name
 
 revision = "af30ca79208f"
@@ -153,7 +154,7 @@ def upgrade():
     # sqlite does not support column and fk deletion
     if isinstance(bind.dialect, SQLiteDialect):
         op.drop_table("sql_observations")
-        op.create_table(
+        create_table(
             "sql_observations",
             sa.Column("id", sa.Integer(), nullable=False),
             sa.Column("dttm", sa.DateTime(), nullable=True),
@@ -174,7 +175,7 @@ def downgrade():
     bind = op.get_bind()
     insp = sa.engine.reflection.Inspector.from_engine(bind)
 
-    op.create_table(
+    create_table(
         "sql_observers",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -191,7 +192,7 @@ def downgrade():
         sa.PrimaryKeyConstraint("id"),
     )
 
-    op.create_table(
+    create_table(
         "alert_validators",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -248,7 +249,7 @@ def downgrade():
             ),
         )
         op.drop_table("alerts")
-        op.create_table(
+        create_table(
             "alerts",
             sa.Column("id", sa.Integer(), nullable=False),
             sa.Column("label", sa.String(length=150), nullable=False),
diff --git 
a/superset/migrations/versions/2020-11-04_11-06_49b5a32daba5_add_report_schedules.py
 
b/superset/migrations/versions/2020-11-04_11-06_49b5a32daba5_add_report_schedules.py
index 8e28c29956..311362d68c 100644
--- 
a/superset/migrations/versions/2020-11-04_11-06_49b5a32daba5_add_report_schedules.py
+++ 
b/superset/migrations/versions/2020-11-04_11-06_49b5a32daba5_add_report_schedules.py
@@ -22,17 +22,19 @@ Create Date: 2020-11-04 11:06:59.249758
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+from sqlalchemy.engine.reflection import Inspector
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "49b5a32daba5"
 down_revision = "96e99fb176a0"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-from sqlalchemy.engine.reflection import Inspector  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "report_schedule",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("type", sa.String(length=50), nullable=False),
@@ -76,7 +78,7 @@ def upgrade():
         op.f("ix_report_schedule_active"), "report_schedule", ["active"], 
unique=False
     )
 
-    op.create_table(
+    create_table(
         "report_execution_log",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("scheduled_dttm", sa.DateTime(), nullable=False),
@@ -91,7 +93,7 @@ def upgrade():
         sa.PrimaryKeyConstraint("id"),
     )
 
-    op.create_table(
+    create_table(
         "report_recipient",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("type", sa.String(length=50), nullable=False),
@@ -108,7 +110,7 @@ def upgrade():
         sa.PrimaryKeyConstraint("id"),
     )
 
-    op.create_table(
+    create_table(
         "report_schedule_user",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2021-01-14_19-12_e11ccdd12658_add_roles_relationship_to_dashboard.py
 
b/superset/migrations/versions/2021-01-14_19-12_e11ccdd12658_add_roles_relationship_to_dashboard.py
index 78eaa98d58..03ee04bfb0 100644
--- 
a/superset/migrations/versions/2021-01-14_19-12_e11ccdd12658_add_roles_relationship_to_dashboard.py
+++ 
b/superset/migrations/versions/2021-01-14_19-12_e11ccdd12658_add_roles_relationship_to_dashboard.py
@@ -21,15 +21,18 @@ Revises: 260bf0649a77
 Create Date: 2021-01-14 19:12:43.406230
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "e11ccdd12658"
 down_revision = "260bf0649a77"
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
 
 
 def upgrade():
-    op.create_table(
+    create_table(
         "dashboard_roles",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("role_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2021-03-29_11-15_3ebe0993c770_filterset_table.py 
b/superset/migrations/versions/2021-03-29_11-15_3ebe0993c770_filterset_table.py
index 8e092112dc..eb76733983 100644
--- 
a/superset/migrations/versions/2021-03-29_11-15_3ebe0993c770_filterset_table.py
+++ 
b/superset/migrations/versions/2021-03-29_11-15_3ebe0993c770_filterset_table.py
@@ -22,16 +22,18 @@ Create Date: 2021-03-29 11:15:48.831225
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "3ebe0993c770"
 down_revision = "181091c0ef16"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "filter_sets",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2022-01-28_16-03_5afbb1a5849b_add_embedded_dahshoard_table.py
 
b/superset/migrations/versions/2022-01-28_16-03_5afbb1a5849b_add_embedded_dahshoard_table.py
index c784595735..d47e41cac3 100644
--- 
a/superset/migrations/versions/2022-01-28_16-03_5afbb1a5849b_add_embedded_dahshoard_table.py
+++ 
b/superset/migrations/versions/2022-01-28_16-03_5afbb1a5849b_add_embedded_dahshoard_table.py
@@ -22,19 +22,21 @@ Create Date: 2022-01-28 16:03:02.944080
 
 """
 
+from uuid import uuid4
+
+import sqlalchemy as sa
+from alembic import op
+from sqlalchemy_utils import UUIDType
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "5afbb1a5849b"
 down_revision = "5fd49410a97a"
 
-from uuid import uuid4  # noqa: E402
-
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-from sqlalchemy_utils import UUIDType  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "embedded_dashboards",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2022-03-04_09-59_6766938c6065_add_key_value_store.py
 
b/superset/migrations/versions/2022-03-04_09-59_6766938c6065_add_key_value_store.py
index f22ac167ef..7dcae88f53 100644
--- 
a/superset/migrations/versions/2022-03-04_09-59_6766938c6065_add_key_value_store.py
+++ 
b/superset/migrations/versions/2022-03-04_09-59_6766938c6065_add_key_value_store.py
@@ -22,19 +22,21 @@ Create Date: 2022-03-04 09:59:26.922329
 
 """
 
+from uuid import uuid4
+
+import sqlalchemy as sa
+from alembic import op
+from sqlalchemy_utils import UUIDType
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "6766938c6065"
 down_revision = "7293b0ca7944"
 
-from uuid import uuid4  # noqa: E402
-
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-from sqlalchemy_utils import UUIDType  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "key_value",
         sa.Column("id", sa.Integer(), nullable=False),
         sa.Column("resource", sa.String(32), nullable=False),
diff --git 
a/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
 
b/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
index 147ad8d372..c2d05093b9 100644
--- 
a/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
+++ 
b/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
@@ -22,24 +22,25 @@ Create Date: 2022-10-20 10:48:08.722861
 
 """
 
-# revision identifiers, used by Alembic.
-revision = "f3c2d8ec8595"
-down_revision = "4ce1d9b25135"
+from uuid import uuid4
 
-from uuid import uuid4  # noqa: E402
+import sqlalchemy as sa
+from alembic import op
+from sqlalchemy_utils import UUIDType
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-from sqlalchemy_utils import UUIDType  # noqa: E402
+from superset import app
+from superset.extensions import encrypted_field_factory
+from superset.migrations.shared.utils import create_table
 
-from superset import app  # noqa: E402
-from superset.extensions import encrypted_field_factory  # noqa: E402
+# revision identifiers, used by Alembic.
+revision = "f3c2d8ec8595"
+down_revision = "4ce1d9b25135"
 
 app_config = app.config
 
 
 def upgrade():
-    op.create_table(
+    create_table(
         "ssh_tunnels",
         # AuditMixinNullable
         sa.Column("created_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2023-06-01_13-13_83e1abbe777f_drop_access_request.py
 
b/superset/migrations/versions/2023-06-01_13-13_83e1abbe777f_drop_access_request.py
index 4e08a1b125..dbcf7454e8 100644
--- 
a/superset/migrations/versions/2023-06-01_13-13_83e1abbe777f_drop_access_request.py
+++ 
b/superset/migrations/versions/2023-06-01_13-13_83e1abbe777f_drop_access_request.py
@@ -22,20 +22,22 @@ Create Date: 2023-06-01 13:13:18.147362
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "83e1abbe777f"
 down_revision = "ae58e1e58e5c"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
     op.drop_table("access_request")
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         "access_request",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2023-07-12_20-34_e0f6f91c2055_create_user_favorite_table.py
 
b/superset/migrations/versions/2023-07-12_20-34_e0f6f91c2055_create_user_favorite_table.py
index 2cf0e02ce8..0ca937f10e 100644
--- 
a/superset/migrations/versions/2023-07-12_20-34_e0f6f91c2055_create_user_favorite_table.py
+++ 
b/superset/migrations/versions/2023-07-12_20-34_e0f6f91c2055_create_user_favorite_table.py
@@ -22,17 +22,19 @@ Create Date: 2023-07-12 20:34:57.553981
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+
+from superset.migrations.shared.utils import create_table
+
 # revision identifiers, used by Alembic.
 revision = "e0f6f91c2055"
 down_revision = "bf646a0c1501"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-
 
 def upgrade():
     # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
+    create_table(
         "user_favorite_tag",
         sa.Column("user_id", sa.Integer(), nullable=False),
         sa.Column("tag_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2024-03-20_16-02_678eefb4ab44_add_access_token_table.py
 
b/superset/migrations/versions/2024-03-20_16-02_678eefb4ab44_add_access_token_table.py
index 59ccd7a085..7d9c851285 100644
--- 
a/superset/migrations/versions/2024-03-20_16-02_678eefb4ab44_add_access_token_table.py
+++ 
b/superset/migrations/versions/2024-03-20_16-02_678eefb4ab44_add_access_token_table.py
@@ -22,19 +22,22 @@ Create Date: 2024-03-20 16:02:58.515915
 
 """
 
+import sqlalchemy as sa
+from alembic import op
+from sqlalchemy_utils import EncryptedType
+
+from superset.migrations.shared.utils import (
+    create_table,
+    drop_fks_for_table,
+)
+
 # revision identifiers, used by Alembic.
 revision = "678eefb4ab44"
 down_revision = "be1b217cd8cd"
 
-import sqlalchemy as sa  # noqa: E402
-from alembic import op  # noqa: E402
-from sqlalchemy_utils import EncryptedType  # noqa: E402
-
-from superset.migrations.shared.utils import drop_fks_for_table  # noqa: E402
-
 
 def upgrade():
-    op.create_table(
+    create_table(
         "database_user_oauth2_tokens",
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2024-05-24_11-31_02f4f7811799_remove_sl_dataset_columns_table.py
 
b/superset/migrations/versions/2024-05-24_11-31_02f4f7811799_remove_sl_dataset_columns_table.py
index 70913d2ecb..affe9259cd 100644
--- 
a/superset/migrations/versions/2024-05-24_11-31_02f4f7811799_remove_sl_dataset_columns_table.py
+++ 
b/superset/migrations/versions/2024-05-24_11-31_02f4f7811799_remove_sl_dataset_columns_table.py
@@ -25,7 +25,7 @@ Create Date: 2024-05-24 11:31:57.115586
 import sqlalchemy as sa
 from alembic import op
 
-from superset.migrations.shared.utils import drop_fks_for_table, has_table
+from superset.migrations.shared.utils import create_table, drop_fks_for_table, 
has_table
 
 # revision identifiers, used by Alembic.
 revision = "02f4f7811799"
@@ -41,7 +41,7 @@ def upgrade():
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         table_name,
         sa.Column("dataset_id", sa.Integer(), nullable=False),
         sa.Column("column_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2024-08-13_15-17_39549add7bfc_remove_sl_table_columns_table.py
 
b/superset/migrations/versions/2024-08-13_15-17_39549add7bfc_remove_sl_table_columns_table.py
index bb7a2d14db..2c8ec71980 100644
--- 
a/superset/migrations/versions/2024-08-13_15-17_39549add7bfc_remove_sl_table_columns_table.py
+++ 
b/superset/migrations/versions/2024-08-13_15-17_39549add7bfc_remove_sl_table_columns_table.py
@@ -25,7 +25,7 @@ Create Date: 2024-08-13 15:17:23.273168
 import sqlalchemy as sa
 from alembic import op
 
-from superset.migrations.shared.utils import drop_fks_for_table, has_table
+from superset.migrations.shared.utils import create_table, drop_fks_for_table, 
has_table
 
 # revision identifiers, used by Alembic.
 revision = "39549add7bfc"
@@ -41,7 +41,7 @@ def upgrade():
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         table_name,
         sa.Column("table_id", sa.Integer(), nullable=False),
         sa.Column("column_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2024-08-13_15-23_38f4144e8558_remove_sl_dataset_tables.py
 
b/superset/migrations/versions/2024-08-13_15-23_38f4144e8558_remove_sl_dataset_tables.py
index d8565f89b6..95a2951b31 100644
--- 
a/superset/migrations/versions/2024-08-13_15-23_38f4144e8558_remove_sl_dataset_tables.py
+++ 
b/superset/migrations/versions/2024-08-13_15-23_38f4144e8558_remove_sl_dataset_tables.py
@@ -25,7 +25,7 @@ Create Date: 2024-08-13 15:23:28.768963
 import sqlalchemy as sa
 from alembic import op
 
-from superset.migrations.shared.utils import drop_fks_for_table, has_table
+from superset.migrations.shared.utils import create_table, drop_fks_for_table, 
has_table
 
 # revision identifiers, used by Alembic.
 revision = "38f4144e8558"
@@ -41,7 +41,7 @@ def upgrade():
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         table_name,
         sa.Column("dataset_id", sa.Integer(), nullable=False),
         sa.Column("table_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2024-08-13_15-27_e53fd48cc078_remove_sl_dataset_users.py
 
b/superset/migrations/versions/2024-08-13_15-27_e53fd48cc078_remove_sl_dataset_users.py
index e9122dc47a..f6d0af07a6 100644
--- 
a/superset/migrations/versions/2024-08-13_15-27_e53fd48cc078_remove_sl_dataset_users.py
+++ 
b/superset/migrations/versions/2024-08-13_15-27_e53fd48cc078_remove_sl_dataset_users.py
@@ -25,7 +25,7 @@ Create Date: 2024-08-13 15:27:11.589886
 import sqlalchemy as sa
 from alembic import op
 
-from superset.migrations.shared.utils import drop_fks_for_table, has_table
+from superset.migrations.shared.utils import create_table, drop_fks_for_table, 
has_table
 
 # revision identifiers, used by Alembic.
 revision = "e53fd48cc078"
@@ -41,7 +41,7 @@ def upgrade():
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         table_name,
         sa.Column("dataset_id", sa.Integer(), nullable=False),
         sa.Column("user_id", sa.Integer(), nullable=False),
diff --git 
a/superset/migrations/versions/2024-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py
 
b/superset/migrations/versions/2024-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py
index d10862fb8c..80b5b5ca05 100644
--- 
a/superset/migrations/versions/2024-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py
+++ 
b/superset/migrations/versions/2024-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py
@@ -25,7 +25,7 @@ Create Date: 2024-08-13 15:29:33.135672
 import sqlalchemy as sa
 from alembic import op
 
-from superset.migrations.shared.utils import drop_fks_for_table, has_table
+from superset.migrations.shared.utils import create_table, drop_fks_for_table, 
has_table
 
 # revision identifiers, used by Alembic.
 revision = "a6b32d2d07b1"
@@ -41,7 +41,7 @@ def upgrade():
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         table_name,
         sa.Column("uuid", sa.Numeric(precision=16), nullable=True),
         sa.Column("created_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2024-08-13_15-31_007a1abffe7e_remove_sl_tables.py
 
b/superset/migrations/versions/2024-08-13_15-31_007a1abffe7e_remove_sl_tables.py
index 8b0f286101..12ff3d73e0 100644
--- 
a/superset/migrations/versions/2024-08-13_15-31_007a1abffe7e_remove_sl_tables.py
+++ 
b/superset/migrations/versions/2024-08-13_15-31_007a1abffe7e_remove_sl_tables.py
@@ -25,7 +25,7 @@ Create Date: 2024-08-13 15:31:31.478017
 import sqlalchemy as sa
 from alembic import op
 
-from superset.migrations.shared.utils import drop_fks_for_table, has_table
+from superset.migrations.shared.utils import create_table, drop_fks_for_table, 
has_table
 
 # revision identifiers, used by Alembic.
 revision = "007a1abffe7e"
@@ -41,7 +41,7 @@ def upgrade():
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         table_name,
         sa.Column("uuid", sa.Numeric(precision=16), nullable=True),
         sa.Column("created_on", sa.DateTime(), nullable=True),
diff --git 
a/superset/migrations/versions/2024-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py
 
b/superset/migrations/versions/2024-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py
index 7b35ebec26..84ac681a37 100644
--- 
a/superset/migrations/versions/2024-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py
+++ 
b/superset/migrations/versions/2024-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py
@@ -25,7 +25,7 @@ Create Date: 2024-08-13 15:33:14.551012
 import sqlalchemy as sa
 from alembic import op
 
-from superset.migrations.shared.utils import drop_fks_for_table, has_table
+from superset.migrations.shared.utils import create_table, drop_fks_for_table, 
has_table
 
 # revision identifiers, used by Alembic.
 revision = "48cbb571fa3a"
@@ -41,7 +41,7 @@ def upgrade():
 
 
 def downgrade():
-    op.create_table(
+    create_table(
         table_name,
         sa.Column("uuid", sa.Numeric(precision=16), nullable=True),
         sa.Column("created_on", sa.DateTime(), nullable=True),

Reply via email to