]> 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)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Dec 2014 03:23:02 +0000 (22:23 -0500)
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

neutron/db/migration/alembic_migrations/heal_script.py

index 05a0f738114bec2329d06eb4d83c463d25e85f0f..58d6d5d7cb6bc302a4d813ac94610f64853678a9 100644 (file)
@@ -89,7 +89,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.