Migrated issue, originally created by Fayaz Khan (@fayaz)
Autogenerate script seems to be failing with:
File "<string>", line 7, in run_migrations
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/environment.py", line 696, in run_migrations
self.get_context().run_migrations(**kw)
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/migration.py", line 248, in run_migrations
self):
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/command.py", line 87, in retrieve_migrations
autogen._produce_migration_diffs(context, template_args, imports)
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/autogenerate/api.py", line 140, in _produce_migration_diffs
autogen_context, object_filters, include_schemas)
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/autogenerate/api.py", line 218, in _produce_net_changes
inspector, metadata, diffs, autogen_context)
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/autogenerate/compare.py", line 100, in _compare_tables
diffs, autogen_context, inspector)
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/autogenerate/compare.py", line 263, in _compare_indexes_and_uniques
metadata_indexes)
File "/home/fayaz/Programming/weaver-env/local/lib/python2.7/site-packages/alembic/ddl/mysql.py", line 92, in correct_for_autogen_constraints
conn_indexes.remove(idx)
KeyError: Index('variant_value_association_value_key', Column('attribute', INTEGER(display_width=11), ForeignKey(u'variant_property_value.attribute'), table=<variant_value_association>, primary_key=True, nullable=False), Column('value', VARCHAR(length=64), ForeignKey(u'variant_property_value.value'), table=<variant_value_association>, nullable=False))
It fails here.
https://bitbucket.org/zzzeek/alembic/src/9650ccfb6841de45efdedb40de5b5f9d3d2f4582/alembic/ddl/mysql.py?at=master#cl-92
Table in question:
variant_value_association = Table(
'variant_value_association', Base.metadata,
Column('variant', ForeignKey('item_variant.id',
name='variant_value_association_variant_key'),
primary_key=True),
Column('attribute', Integer, primary_key=True),
Column('value', Unicode(64), nullable=False),
ForeignKeyConstraint(
['attribute', 'value'],
['variant_property_value.attribute', 'variant_property_value.value'],
name='variant_value_association_value_key'))
I think correct_for_autogen_constraints seems to be removing idx more than once for cols with the same col.foreign_keys.