diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-12-04 13:30:46 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-12-04 13:30:46 -0500 |
commit | 885848ee069ecf899fe59843100857ccb7a4c974 (patch) | |
tree | 13aac36d2e8468f7b54993a1a20870abbff6cc08 | |
parent | 5f952f25caa688d89204d134ee867de7dbad917c (diff) | |
parent | 22667c19df7e30469b61f901cd6404f5d3a5cc14 (diff) | |
download | alembic-885848ee069ecf899fe59843100857ccb7a4c974.tar.gz |
Merge branch 'mysql-unique-index-removed' of https://bitbucket.org/jerdfelt/alembic into pr35
-rw-r--r-- | alembic/ddl/mysql.py | 2 | ||||
-rw-r--r-- | tests/test_autogen_indexes.py | 19 |
2 files changed, 21 insertions, 0 deletions
diff --git a/alembic/ddl/mysql.py b/alembic/ddl/mysql.py index b93d29f..cb9d634 100644 --- a/alembic/ddl/mysql.py +++ b/alembic/ddl/mysql.py @@ -102,6 +102,8 @@ class MySQLImpl(DefaultImpl): # the name of the index may be the column name or it may # be the name of the FK constraint. for col in idx.columns: + if idx.unique: + continue if idx.name == col.name: conn_indexes.remove(idx) removed.add(idx.name) diff --git a/tests/test_autogen_indexes.py b/tests/test_autogen_indexes.py index ad839c8..e2d9b4e 100644 --- a/tests/test_autogen_indexes.py +++ b/tests/test_autogen_indexes.py @@ -586,6 +586,25 @@ class MySQLUniqueIndexTest(AutogenerateUniqueIndexTest): else: assert False, "unexpected success" + def test_unique_index_foreign_key(self): + m1 = MetaData() + m2 = MetaData() + + Table('unq_idx', m1, + Column('id', Integer, primary_key=True), + Column('x', String(20)), + Index('x', 'x', unique=True) + ) + + Table('unq_idx', m2, + Column('id', Integer, primary_key=True), + Column('x', String(20)), + Index('x', 'x', unique=True) + ) + + diffs = self._fixture(m1, m2) + eq_(diffs, []) + class NoUqReflectionIndexTest(NoUqReflection, AutogenerateUniqueIndexTest): reports_unique_constraints = False |