From 1cdf8af7ee24a25dd18df397c538a4a53a4c7ba0 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 11 Oct 2013 17:14:28 -0400 Subject: [PATCH] - fix the change we did in 56a178d2181c84ab8bf2edbe6fdf8439f4 so that the unique constraint/index thing on PG still works - replicate the index test for PG --- alembic/autogenerate/compare.py | 2 ++ tests/test_autogenerate.py | 5 +++++ 2 files changed, 7 insertions(+) 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') -- 2.47.2