Merge "db: Remove the legacy 'migration_version' table"

This commit is contained in:
Zuul 2023-07-03 19:31:33 +00:00 committed by Gerrit Code Review
commit 25455c476f
3 changed files with 41 additions and 10 deletions

View File

@ -0,0 +1,35 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Drop legacy migrate_version table
Revision ID: 89aa6f9639f9
Revises: daa98075b90d
Create Date: 2023-02-17 12:41:37.940769
"""
from alembic import op
from sqlalchemy.engine import reflection
# revision identifiers, used by Alembic.
revision = '89aa6f9639f9'
down_revision = 'daa98075b90d'
branch_labels = None
depends_on = None
def upgrade():
conn = op.get_bind()
inspector = reflection.Inspector.from_engine(conn)
tables = inspector.get_table_names()
if 'migrate_version' in tables:
op.drop_table('migrate_version')

View File

@ -13,7 +13,7 @@
"""Add resource indexes
Revision ID: daa98075b90d
Revises: 9c74c1c6971f
Revises: c92a3e68beed
Create Date: 2021-11-26 10:26:41.883072
"""

View File

@ -62,15 +62,6 @@ class CinderModelsMigrationsSync(test_migrations.ModelsMigrationsSync):
def get_metadata(self):
return models.BASE.metadata
def include_object(self, object_, name, type_, reflected, compare_to):
if type_ == 'table':
# migrate_version is a sqlalchemy-migrate control table and
# isn't included in the model
if name == 'migrate_version':
return False
return True
def filter_metadata_diff(self, diff):
# Overriding the parent method to decide on certain attributes
# that maybe present in the DB but not in the models.py
@ -219,6 +210,11 @@ class MigrationsWalk(
db_utils.index_exists(connection,
'volumes', 'volumes_deleted_host_idx')
def _check_89aa6f9639f9(self, connection):
# the table only existed on legacy deployments: there's no way to check
# for its removal without creating it first, which is dumb
pass
class TestMigrationsWalkSQLite(
MigrationsWalk,