diff options
| author | Federico Caselli <cfederico87@gmail.com> | 2023-01-09 18:16:15 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2023-01-09 18:16:15 +0000 |
| commit | f7580186cd50ab9174083f2df7dbf26fc54b9f40 (patch) | |
| tree | fa908144806dd6c88c3a0c5dad4496d3a05bae9f /lib/sqlalchemy/engine | |
| parent | 2ef4b449a7709ecab45e926f0e8d0dd398fd12db (diff) | |
| parent | 3aeb30ea104ca6cbe6972f7ec64233cadbaccd82 (diff) | |
| download | sqlalchemy-f7580186cd50ab9174083f2df7dbf26fc54b9f40.tar.gz | |
Merge "warn and skip for FKs that refer to invisible cols for Oracle" into main
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/reflection.py | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py index 050f18f2f..6b44704bb 100644 --- a/lib/sqlalchemy/engine/reflection.py +++ b/lib/sqlalchemy/engine/reflection.py @@ -1793,16 +1793,25 @@ class Inspector(inspection.Inspectable["Inspector"]): else: options = {} - table.append_constraint( - sa_schema.ForeignKeyConstraint( - constrained_columns, - refspec, - conname, - link_to_name=True, - comment=fkey_d.get("comment"), - **options, + try: + table.append_constraint( + sa_schema.ForeignKeyConstraint( + constrained_columns, + refspec, + conname, + link_to_name=True, + comment=fkey_d.get("comment"), + **options, + ) + ) + except exc.ConstraintColumnNotFoundError: + util.warn( + f"On reflected table {table.name}, skipping reflection of " + "foreign key constraint " + f"{conname}; one or more subject columns within " + f"name(s) {', '.join(constrained_columns)} are not " + "present in the table" ) - ) _index_sort_exprs = { "asc": operators.asc_op, |
