Fixed an issue where migration on external database is not working. #5941

This commit is contained in:
Akshay Joshi
2023-03-20 16:18:21 +05:30
parent c6220bd8e2
commit a144815201

View File

@@ -14,7 +14,7 @@ Create Date: 2023-01-02 14:52:48.109290
""" """
import sqlalchemy as sa import sqlalchemy as sa
from alembic import op from alembic import op, context
# revision identifiers, used by Alembic. # revision identifiers, used by Alembic.
@@ -36,18 +36,20 @@ def migrate_connection_params(table_name):
# to directly v6.16 and above. Below statements has been removed from # to directly v6.16 and above. Below statements has been removed from
# migration file 3ce25f562f3b_.py as a part of using the alembic code # migration file 3ce25f562f3b_.py as a part of using the alembic code
# instead of SQL queries directly. # instead of SQL queries directly.
try: if context.get_impl().bind.dialect.name == "sqlite":
# Rename user table to user_old and again user_old to user to change try:
# the foreign key reference of user_old table which is not exists # Rename user table to user_old and again user_old to user to
op.execute("ALTER TABLE user RENAME TO user_old") # change the foreign key reference of user_old table which is not
op.execute("ALTER TABLE user_old RENAME TO user") # exists
# Rename user table to server_old and again server_old to server to op.execute("ALTER TABLE \"user\" RENAME TO user_old")
# change the foreign key reference of user_old table which is not op.execute("ALTER TABLE user_old RENAME TO \"user\"")
# exists. # Rename user table to server_old and again server_old to server to
op.execute("ALTER TABLE server RENAME TO server_old") # change the foreign key reference of user_old table which is not
op.execute("ALTER TABLE server_old RENAME TO server") # exists.
except Exception as _: op.execute("ALTER TABLE server RENAME TO server_old")
pass op.execute("ALTER TABLE server_old RENAME TO server")
except Exception as _:
pass
# define table representation # define table representation
meta = sa.MetaData(bind=op.get_bind()) meta = sa.MetaData(bind=op.get_bind())