]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Alter execute_alembic_command() to not assume all commands
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Dec 2014 03:18:32 +0000 (22:18 -0500)
committerAdam Gandelman <adamg@ubuntu.com>
Thu, 4 Dec 2014 01:51:16 +0000 (17:51 -0800)
Alembic 0.7.1 is adding new diff directives add_fk and remove_fk.
The logic in execute_alembic_command() appears to assume all potential
commands are present in METHODS.   This patch adjusts it so that
it checks METHODS first, allowing the tests in neutron.tests.unit.db.test_migration
to pass.  However, if the design here requires that all potential
Alembic commands are handled, then this would not be the fix,
though I recommend that the potential list of Alembic directives
not be hardcoded.

Change-Id: Ib08685be252e1fdb0f10853f8fc9a7e19ac54a94
Closes-Bug: #1397796
(cherry picked from commit 6a9d1121472028f3583e577b62a7e576fff5806f)

neutron/db/migration/alembic_migrations/heal_script.py

index e5bcc22af23aa48748cf79c44d03c36999ab296d..53d0d847f6d308018262b7c4d08f83211ffd58cb 100644 (file)
@@ -88,7 +88,8 @@ def execute_alembic_command(command):
         # Here methods add_table, drop_index, etc is running. Name of method is
         # the first element of the tuple, arguments to this method comes from
         # the next element(s).
-        METHODS[command[0]](*command[1:])
+        if command[0] in METHODS:
+            METHODS[command[0]](*command[1:])
     else:
         # For all commands that changing type, nullable or other parameters
         # of the column is used alter_column method from alembic.