From: Mike Bayer Date: Fri, 11 Oct 2013 21:14:28 +0000 (-0400) Subject: - fix the change we did in 56a178d2181c84ab8bf2edbe6fdf8439f4 so that the unique... X-Git-Tag: rel_0_6_1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1cdf8af7ee24a25dd18df397c538a4a53a4c7ba0;p=thirdparty%2Fsqlalchemy%2Falembic.git - fix the change we did in 56a178d2181c84ab8bf2edbe6fdf8439f4 so that the unique constraint/index thing on PG still works - replicate the index test for PG --- diff --git a/alembic/autogenerate/compare.py b/alembic/autogenerate/compare.py index ce2728f0..56fe2194 100644 --- a/alembic/autogenerate/compare.py +++ b/alembic/autogenerate/compare.py @@ -247,6 +247,8 @@ def _compare_indexes(schema, tname, object_filters, conn_table, i.name for i in metadata_table.constraints \ if isinstance(i, sa_schema.UniqueConstraint) and i.name is not None ) + else: + c_uniques_keys = set(uq.name for uq in c_uniques_keys if uq.name is not None) c_keys = set(c_objs).difference(c_uniques_keys) m_keys = set(m_objs).difference(c_uniques_keys) diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index e8859dcb..aaaebd21 100644 --- a/tests/test_autogenerate.py +++ b/tests/test_autogenerate.py @@ -749,6 +749,7 @@ class AutogenerateDiffTest(AutogenTest, TestCase): ) + class AutogenerateUniqueIndexTest(AutogenTest, TestCase): @classmethod @@ -900,6 +901,10 @@ class AutogenerateUniqueIndexTest(AutogenTest, TestCase): eq_(diffs[7][0], "remove_index") eq_(diffs[7][1].name, "ix_user_name") +class PGUniqueIndexTest(AutogenerateUniqueIndexTest): + @classmethod + def _get_bind(cls): + return db_for_dialect('postgresql')