From 5f49557824708e0acee3cffbfc3abee0bb1b2bc6 Mon Sep 17 00:00:00 2001 From: Joe Li Date: Wed, 14 Aug 2024 17:21:28 -0700 Subject: [PATCH] update migrations to handle sqllite --- ...02f4f7811799_remove_sl_dataset_columns_table.py | 14 ++++++++++++-- ...7_39549add7bfc_remove_sl_table_columns_table.py | 14 ++++++++++++-- ..._15-23_38f4144e8558_remove_sl_dataset_tables.py | 14 ++++++++++++-- ...3_15-27_e53fd48cc078_remove_sl_dataset_users.py | 14 ++++++++++++-- ...4-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py | 14 ++++++++++++-- ...24-08-13_15-31_007a1abffe7e_remove_sl_tables.py | 14 ++++++++++++-- ...-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py | 14 ++++++++++++-- 7 files changed, 84 insertions(+), 14 deletions(-) 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 f76e6fcd3577f..7d4f735975189 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 @@ -33,8 +33,18 @@ def upgrade(): - drop_fks_for_table("sl_dataset_columns") - op.drop_table("sl_dataset_columns") + bind = op.get_bind() + + # Determine if we're using SQLite + if bind.dialect.name == "sqlite": + # Use batch mode for SQLite + with op.batch_alter_table("sl_dataset_columns") as batch_op: + drop_fks_for_table("sl_dataset_columns") + batch_op.drop_table("sl_dataset_columns") + else: + # Non-SQLite: Directly drop the foreign keys and table + drop_fks_for_table("sl_dataset_columns") + op.drop_table("sl_dataset_columns") def downgrade(): 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 ac42048b9f920..3cdf20c556bbb 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 @@ -33,8 +33,18 @@ def upgrade(): - drop_fks_for_table("sl_table_columns") - op.drop_table("sl_table_columns") + bind = op.get_bind() + + # Determine if we're using SQLite + if bind.dialect.name == "sqlite": + # Use batch mode for SQLite + with op.batch_alter_table("sl_table_columns") as batch_op: + drop_fks_for_table("sl_table_columns") + batch_op.drop_table("sl_table_columns") + else: + # Non-SQLite: Directly drop the foreign keys and table + drop_fks_for_table("sl_table_columns") + op.drop_table("sl_table_columns") def downgrade(): 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 88cd402ab5a5e..5dcd9c5e629af 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 @@ -33,8 +33,18 @@ def upgrade(): - drop_fks_for_table("sl_dataset_tables") - op.drop_table("sl_dataset_tables") + bind = op.get_bind() + + # Determine if we're using SQLite + if bind.dialect.name == "sqlite": + # Use batch mode for SQLite + with op.batch_alter_table("sl_dataset_tables") as batch_op: + drop_fks_for_table("sl_dataset_tables") + batch_op.drop_table("sl_dataset_tables") + else: + # Non-SQLite: Directly drop the foreign keys and table + drop_fks_for_table("sl_dataset_tables") + op.drop_table("sl_dataset_tables") def downgrade(): 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 38a3676a53872..d7bf5d85b39e0 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 @@ -33,8 +33,18 @@ def upgrade(): - drop_fks_for_table("sl_dataset_users") - op.drop_table("sl_dataset_users") + bind = op.get_bind() + + # Determine if we're using SQLite + if bind.dialect.name == "sqlite": + # Use batch mode for SQLite + with op.batch_alter_table("sl_dataset_users") as batch_op: + drop_fks_for_table("sl_dataset_users") + batch_op.drop_table("sl_dataset_users") + else: + # Non-SQLite: Directly drop the foreign keys and table + drop_fks_for_table("sl_dataset_users") + op.drop_table("sl_dataset_users") def downgrade(): 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 459733975f0f1..afa96e4c5318c 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 @@ -33,8 +33,18 @@ def upgrade(): - drop_fks_for_table("sl_columns") - op.drop_table("sl_columns") + bind = op.get_bind() + + # Determine if we're using SQLite + if bind.dialect.name == "sqlite": + # Use batch mode for SQLite + with op.batch_alter_table("sl_columns") as batch_op: + drop_fks_for_table("sl_columns") + batch_op.drop_table("sl_columns") + else: + # Non-SQLite: Directly drop the foreign keys and table + drop_fks_for_table("sl_columns") + op.drop_table("sl_columns") def downgrade(): 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 af6d50a1f0e10..ea75e3f5fb139 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 @@ -33,8 +33,18 @@ def upgrade(): - drop_fks_for_table("sl_tables") - op.drop_table("sl_tables") + bind = op.get_bind() + + # Determine if we're using SQLite + if bind.dialect.name == "sqlite": + # Use batch mode for SQLite + with op.batch_alter_table("sl_tables") as batch_op: + drop_fks_for_table("sl_tables") + batch_op.drop_table("sl_tables") + else: + # Non-SQLite: Directly drop the foreign keys and table + drop_fks_for_table("sl_tables") + op.drop_table("sl_tables") def downgrade(): 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 8ad4767c0bcbc..ed68b2b8ae45e 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 @@ -33,8 +33,18 @@ def upgrade(): - drop_fks_for_table("sl_datasets") - op.drop_table("sl_datasets") + bind = op.get_bind() + + # Determine if we're using SQLite + if bind.dialect.name == "sqlite": + # Use batch mode for SQLite + with op.batch_alter_table("sl_datasets") as batch_op: + drop_fks_for_table("sl_datasets") + batch_op.drop_table("sl_datasets") + else: + # Non-SQLite: Directly drop the foreign keys and table + drop_fks_for_table("sl_datasets") + op.drop_table("sl_datasets") def downgrade():