From 661e3ec795be075eb8f66ff15de1c8ad3603a682 Mon Sep 17 00:00:00 2001 From: Ann Kamyshnikova Date: Tue, 26 Aug 2014 12:24:20 +0400 Subject: [PATCH] Fix heal_script for MySQL specifics After running upgrade head->downgrade havana->upgrade head on MySQL heal_script fails with several mistakes. This change fix them. More details in related bug description. Closes-bug: #1354218 Change-Id: I91cb21c4bc744f240bfb8bc6b2ed24b6e01f6095 --- neutron/db/migration/alembic_migrations/heal_script.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/neutron/db/migration/alembic_migrations/heal_script.py b/neutron/db/migration/alembic_migrations/heal_script.py index dacb87474..cdc5308d5 100644 --- a/neutron/db/migration/alembic_migrations/heal_script.py +++ b/neutron/db/migration/alembic_migrations/heal_script.py @@ -103,12 +103,12 @@ def parse_modify_command(command): # autoincrement=None, existing_type=None, # existing_server_default=False, existing_nullable=None, # existing_autoincrement=None, schema=None, **kw) + bind = op.get_bind() for modified, schema, table, column, existing, old, new in command: if modified.endswith('type'): modified = 'type_' elif modified.endswith('nullable'): modified = 'nullable' - bind = op.get_bind() insp = sqlalchemy.engine.reflection.Inspector.from_engine(bind) if column in insp.get_primary_keys(table) and new: return @@ -122,8 +122,7 @@ def parse_modify_command(command): if isinstance(default.arg, basestring): existing['existing_server_default'] = default.arg else: - existing['existing_server_default'] = default.arg.compile( - dialect=bind.engine.name) + existing['existing_server_default'] = default.arg.text kwargs.update(existing) op.alter_column(table, column, **kwargs) -- 2.45.2