From: Mike Bayer Date: Mon, 7 Oct 2013 15:21:33 +0000 (-0400) Subject: - correct for bad booleans coming from SQLA metadata/reflection for the index.unique... X-Git-Tag: rel_0_6_1~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7135c623137de09d30e30b2c1635272790925655;p=thirdparty%2Fsqlalchemy%2Falembic.git - correct for bad booleans coming from SQLA metadata/reflection for the index.unique flag, --- diff --git a/alembic/autogenerate/compare.py b/alembic/autogenerate/compare.py index 074ab35f..2b2e39b1 100644 --- a/alembic/autogenerate/compare.py +++ b/alembic/autogenerate/compare.py @@ -256,7 +256,9 @@ def _compare_indexes(schema, tname, object_filters, conn_table, conn_exps = [exp.name for exp in conn_index.expressions] meta_exps = [exp.name for exp in meta_index.expressions] - if meta_index.unique is not conn_index.unique \ + # convert between both Nones (SQLA ticket #2825) on the metadata + # side and zeroes on the reflection side. + if bool(meta_index.unique) is not bool(conn_index.unique) \ or meta_exps != conn_exps: diffs.append(("remove_index", conn_index)) diffs.append(("add_index", meta_index)) diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index 132003bc..7517ce83 100644 --- a/tests/test_autogenerate.py +++ b/tests/test_autogenerate.py @@ -763,7 +763,8 @@ class AutogenerateUniqueIndexTest(AutogenTest, TestCase): Table('address', m, Column('id', Integer, primary_key=True), - Column('email_address', String(100), nullable=False) + Column('email_address', String(100), nullable=False), + Column('qpr', String(10), index=True), ) Table('order', m, @@ -793,6 +794,7 @@ class AutogenerateUniqueIndexTest(AutogenTest, TestCase): Table('address', m, Column('id', Integer, primary_key=True), Column('email_address', String(100), nullable=False), + Column('qpr', String(10), index=True), UniqueConstraint("email_address", name="uq_email_address") )