diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-04-24 16:19:16 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-04-24 16:42:52 -0400 |
commit | 3da3322ec4f42b58ec8b07108f2dacd33044c73d (patch) | |
tree | 09b9910b517e8514836edc3ba66450536dea2633 /lib/sqlalchemy/dialects/postgresql/json.py | |
parent | 63191fbef63ebfbf57e7b66bd6529305fc62c605 (diff) | |
download | sqlalchemy-3da3322ec4f42b58ec8b07108f2dacd33044c73d.tar.gz |
forwards port test cases and changelog for #7958 to 2.0
in 6f02d5edd88fe2475629438b0730181a2b00c5fe some cleanup
to ForeignKey repaired the use case of ForeignKey objects
referring to table name alone, by adding more robust
column resolution logic. This change also fixes an issue
where the "referred column" naming convention key uses the
resolved referred column earlier than usual when a
ForeignKey is setting up its constraint.
change message for 1.4:
Fixed bug where :class:`.ForeignKeyConstraint` naming conventions using the
``referred_column_0`` naming convention key would not work if the foreign
key constraint were set up as a :class:`.ForeignKey` object rather than an
explicit :class:`.ForeignKeyConstraint` object. As this change makes use of
a backport of some fixes from version 2.0, an additional little-known
feature that has likely been broken for many years is also fixed which is
that a :class:`.ForeignKey` object may refer to a referred table by name of
the table alone without using a column name, if the name of the referent
column is the same as that of the referred column.
The ``referred_column_0`` naming convention key was not previously not
tested with the :class:`.ForeignKey` object, only
:class:`.ForeignKeyConstraint`, and this bug reveals that the feature has
never worked correctly unless :class:`.ForeignKeyConstraint` is used for
all FK constraints. This bug traces back to the original introduction of
the feature introduced for :ticket:`3989`.
Fixes: #7958
Change-Id: I230d43e9deba5dff889b9e7fee6cd4d3aa2496d3
(cherry picked from commit e32937fa6a7dcc3d5087aa1f41049373ab9e4038)
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/json.py')
0 files changed, 0 insertions, 0 deletions