diff --git a/migrations/env.py b/migrations/env.py index 0729ead0..330a20e0 100644 --- a/migrations/env.py +++ b/migrations/env.py @@ -35,6 +35,7 @@ def run_migrations_offline() -> None: target_metadata=target_metadata, literal_binds=True, dialect_opts={"paramstyle": "named"}, + transactional_ddl=True, ) with context.begin_transaction(): diff --git a/migrations/versions/2025_01_21_0820-4dec3e456c9e_add_on_delete_cascade.py b/migrations/versions/2025_01_21_0820-4dec3e456c9e_add_on_delete_cascade.py index 5aaa4467..99a98404 100644 --- a/migrations/versions/2025_01_21_0820-4dec3e456c9e_add_on_delete_cascade.py +++ b/migrations/versions/2025_01_21_0820-4dec3e456c9e_add_on_delete_cascade.py @@ -21,6 +21,7 @@ def upgrade() -> None: # To add ON DELETE CASCADE to the foreign key constraint, we need to # rename the table, create a new table with the constraint, and copy # the data over. + op.execute("DROP TABLE IF EXISTS _prompts_old;") op.execute("ALTER TABLE prompts RENAME TO _prompts_old;") op.execute( """ @@ -39,6 +40,7 @@ def upgrade() -> None: op.execute("DROP TABLE _prompts_old;") # Doing the same for the sessions table + op.execute("DROP TABLE IF EXISTS _sessions_old;") op.execute("ALTER TABLE sessions RENAME TO _sessions_old;") op.execute( """ @@ -54,6 +56,7 @@ def upgrade() -> None: op.execute("DROP TABLE _sessions_old;") # Doing the same for the output table + op.execute("DROP TABLE IF EXISTS _outputs_old;") op.execute("ALTER TABLE outputs RENAME TO _outputs_old;") op.execute( """ @@ -70,6 +73,7 @@ def upgrade() -> None: op.execute("DROP TABLE _outputs_old;") # Doing the same for the alerts table + op.execute("DROP TABLE IF EXISTS _alerts_old;") op.execute("ALTER TABLE alerts RENAME TO _alerts_old;") op.execute( """ @@ -89,7 +93,7 @@ def upgrade() -> None: op.execute("DROP TABLE _alerts_old;") # Dropping unused table - op.execute("DROP TABLE settings;") + op.execute("DROP TABLE IF EXISTS settings;") # Create indexes for foreign keys op.execute("CREATE INDEX idx_outputs_prompt_id ON outputs(prompt_id);")