diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2022-06-08 17:13:28 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2022-06-08 17:13:28 +0000 |
| commit | 73f867d996450fb4fcb0918d3d147ce170ca5fe7 (patch) | |
| tree | 8104e9967cf7cc56c0bd39de61ebdd57afa12b4f /lib/sqlalchemy/engine | |
| parent | 258d07e478eab9ee385f36a5c5fd56c56bf7dfea (diff) | |
| parent | 93bc7ed534f12934528c0cbf5489417ddc025e40 (diff) | |
| download | sqlalchemy-73f867d996450fb4fcb0918d3d147ce170ca5fe7.tar.gz | |
Merge "graceful degrade for FKs not reflectable" into main
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/reflection.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py index b8ece2b1d..4fc57d5f4 100644 --- a/lib/sqlalchemy/engine/reflection.py +++ b/lib/sqlalchemy/engine/reflection.py @@ -779,6 +779,7 @@ class Inspector(inspection.Inspectable["Inspector"]): schema, table, cols_by_orig_name, + include_columns, exclude_columns, resolve_fks, _extend_on, @@ -922,6 +923,7 @@ class Inspector(inspection.Inspectable["Inspector"]): schema, table, cols_by_orig_name, + include_columns, exclude_columns, resolve_fks, _extend_on, @@ -938,10 +940,17 @@ class Inspector(inspection.Inspectable["Inspector"]): cols_by_orig_name[c].key if c in cols_by_orig_name else c for c in fkey_d["constrained_columns"] ] - if exclude_columns and set(constrained_columns).intersection( + + if ( exclude_columns + and set(constrained_columns).intersection(exclude_columns) + or ( + include_columns + and set(constrained_columns).difference(include_columns) + ) ): continue + referred_schema = fkey_d["referred_schema"] referred_table = fkey_d["referred_table"] referred_columns = fkey_d["referred_columns"] @@ -976,6 +985,7 @@ class Inspector(inspection.Inspectable["Inspector"]): options = fkey_d["options"] else: options = {} + table.append_constraint( sa_schema.ForeignKeyConstraint( constrained_columns, |
