Fixed db migrations dropping tables content because of ForeignKey constraints. #2489

This commit is contained in:
morpheus65535 2024-05-08 22:29:31 -04:00
parent d686ab71b2
commit 4815313ac6
1 changed files with 15 additions and 0 deletions

View File

@ -1,6 +1,7 @@
from flask import current_app
from alembic import context
from sqlalchemy import text
import logging
@ -95,8 +96,22 @@ def run_migrations_online():
)
with context.begin_transaction():
bind = context.get_bind()
if bind.engine.name == 'sqlite':
bind.execute(text("PRAGMA foreign_keys=OFF;"))
elif bind.engine.name == 'postgresql':
bind.execute(text("SET CONSTRAINTS ALL DEFERRED;"))
context.run_migrations()
if bind.engine.name == 'sqlite':
bind.execute(text("PRAGMA foreign_keys=ON;"))
elif bind.engine.name == 'postgresql':
bind.execute(text("SET CONSTRAINTS ALL IMMEDIATE;"))
bind.close()
if context.is_offline_mode():
run_migrations_offline()