diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2019-10-14 19:26:09 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2019-10-14 19:26:09 +0000 |
commit | 04f50747e66e6b545b7e515d2775298c290a4f58 (patch) | |
tree | 1d57618aa021bdffcad1ac92d1d64eeb9b6295c1 /alembic/autogenerate | |
parent | bad52b13b12b52b4eecca43866ab3a55da70a129 (diff) | |
parent | e90002d7fd325218c18f556daab94ab13b46877d (diff) | |
download | alembic-04f50747e66e6b545b7e515d2775298c290a4f58.tar.gz |
Merge "Accommodate for SQLAlchemy 1.4 deferral of index/unique names"
Diffstat (limited to 'alembic/autogenerate')
-rw-r--r-- | alembic/autogenerate/compare.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/alembic/autogenerate/compare.py b/alembic/autogenerate/compare.py index 49ceb21..cacedee 100644 --- a/alembic/autogenerate/compare.py +++ b/alembic/autogenerate/compare.py @@ -338,7 +338,9 @@ def _compare_columns( class _constraint_sig(object): def md_name_to_sql_name(self, context): - return self.name + return sqla_compat._get_constraint_final_name( + self.const, context.dialect + ) def __eq__(self, other): return self.const == other.const @@ -529,7 +531,8 @@ def _compare_indexes_and_uniques( metadata_names = dict( (c.md_name_to_sql_name(autogen_context), c) for c in metadata_unique_constraints.union(metadata_indexes) - if c.name is not None + if isinstance(c, _ix_constraint_sig) + or sqla_compat._constraint_is_named(c.const, autogen_context.dialect) ) conn_uniques_by_name = dict((c.name, c) for c in conn_unique_constraints) @@ -556,7 +559,11 @@ def _compare_indexes_and_uniques( ) metadata_indexes_by_sig = dict((ix.sig, ix) for ix in metadata_indexes) unnamed_metadata_uniques = dict( - (uq.sig, uq) for uq in metadata_unique_constraints if uq.name is None + (uq.sig, uq) + for uq in metadata_unique_constraints + if not sqla_compat._constraint_is_named( + uq.const, autogen_context.dialect + ) ) # assumptions: |