Fix DB upgrade with using SQLAlchemy 2.x
Sqlaclhemy metadata bind is deperecated from version 1.4 and will be removed in SQLAlchemy 2.0 [1]. It can be easily replaced with metadata reflect which works for SQLAlchemy 2.0. Also current metadata.bind does not result in fetching all tables from the database, so metadata.tables is an empty mapping, which leads to db_sync failures. [1] https://docs.sqlalchemy.org/en/14/core/metadata.html#sqlalchemy.schema.MetaData.bind [2] https://docs.sqlalchemy.org/en/14/core/reflection.html#reflecting-all-tables-at-once Co-Authored-By: Dmitriy Rabotyagov <noonedeadpunk@gmail.com> Change-Id: I8c721722eeb36de64b8c8a79d4fdcec0e92388fa
This commit is contained in:
parent
9d115c88a1
commit
0648250388
@ -21,7 +21,7 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
def is_migration_needed(equivalent_revision):
|
||||
metadata = sa.MetaData()
|
||||
metadata.bind = op.get_bind()
|
||||
metadata.reflect(bind=op.get_bind())
|
||||
|
||||
if 'migrate_version' not in metadata.tables.keys():
|
||||
return True
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fix an issue where on upgrade, the alembic migration will fail when using
|
||||
SQLAlchemy 2.x.
|
Loading…
Reference in New Issue
Block a user