From ba8c35a78ab8ae0a5d9b3bcaa78919e237fa5faf Mon Sep 17 00:00:00 2001 From: Kyaw Myo Thant Date: Wed, 30 Oct 2024 09:42:31 +0900 Subject: [PATCH] Fix error of tacker-db-manage postgresql migration After introducing codes for updating sqlalchemy version 2, when db is populated to postgresql by running `tacker-db-manage upgrade head`, `sqlalchemy.table` function raise "NoSuchTable" error if "engine" is passed as autoload_with. This patch fix the above error by changing "engine" to "connection". Closes-bug: #2085879 Change-Id: If14d101ceb510b38d14725ae27b81d9131cd4332 --- .../versions/0ae5b1ce3024_unique_constraint_name.py | 7 +++---- .../versions/6e56d4474b2a_blob_to_json_text.py | 5 ++--- .../975e28392888_add_unique_key_vnf_package_vnfd.py | 7 +++---- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/tacker/db/migration/alembic_migrations/versions/0ae5b1ce3024_unique_constraint_name.py b/tacker/db/migration/alembic_migrations/versions/0ae5b1ce3024_unique_constraint_name.py index a87f54afd..c80914f7f 100644 --- a/tacker/db/migration/alembic_migrations/versions/0ae5b1ce3024_unique_constraint_name.py +++ b/tacker/db/migration/alembic_migrations/versions/0ae5b1ce3024_unique_constraint_name.py @@ -35,11 +35,10 @@ def _migrate_duplicate_names(table): meta = sa.MetaData() conn = op.get_bind() - engine = conn.engine - meta.create_all(bind=engine) - t = sa.Table(table, meta, autoload_with=engine) + meta.create_all(bind=conn) + t = sa.Table(table, meta, autoload_with=conn) - session = sa.orm.Session(bind=engine) + session = sa.orm.Session(bind=conn) #with session.begin(subtransactions=True): with session.begin(): dup_names = session.query(t.c.name).group_by( diff --git a/tacker/db/migration/alembic_migrations/versions/6e56d4474b2a_blob_to_json_text.py b/tacker/db/migration/alembic_migrations/versions/6e56d4474b2a_blob_to_json_text.py index c10c415d4..00ba57ff3 100644 --- a/tacker/db/migration/alembic_migrations/versions/6e56d4474b2a_blob_to_json_text.py +++ b/tacker/db/migration/alembic_migrations/versions/6e56d4474b2a_blob_to_json_text.py @@ -38,9 +38,8 @@ down_revision = 'f958f58e5daa' def _migrate_data(table, column_name): meta = sa.MetaData() conn = op.get_bind() - engine = conn.engine - meta.create_all(bind=engine) - t = sa.Table(table, meta, autoload_with=engine) + meta.create_all(bind=conn) + t = sa.Table(table, meta, autoload_with=conn) for r in conn.execute(t.select()): stmt = t.update().where(t.c.id == r.id).values( diff --git a/tacker/db/migration/alembic_migrations/versions/975e28392888_add_unique_key_vnf_package_vnfd.py b/tacker/db/migration/alembic_migrations/versions/975e28392888_add_unique_key_vnf_package_vnfd.py index fba6464b8..496a5d03c 100644 --- a/tacker/db/migration/alembic_migrations/versions/975e28392888_add_unique_key_vnf_package_vnfd.py +++ b/tacker/db/migration/alembic_migrations/versions/975e28392888_add_unique_key_vnf_package_vnfd.py @@ -35,11 +35,10 @@ def _migrate_duplicate_vnf_package_vnfd_id(table): meta = sa.MetaData() conn = op.get_bind() - engine = conn.engine - meta.create_all(bind=engine) - t = sa.Table(table, meta, autoload_with=engine) + meta.create_all(bind=conn) + t = sa.Table(table, meta, autoload_with=conn) - session = sa.orm.Session(bind=engine) + session = sa.orm.Session(bind=conn) with session.begin(): dup_vnfd_ids = session.query(t.c.vnfd_id).group_by( t.c.vnfd_id).having(sa.func.count() > 1).all()