diff options
author | Sumit Khanna <ksumeet40@gmail.com> | 2021-10-04 11:14:38 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-10-14 14:10:15 -0400 |
commit | 7f25fcadafe1b227c27b223696ce3bcc88e47ec7 (patch) | |
tree | 767a99e43857787b12a0e7e56e13cc2e081c70dc /lib/sqlalchemy/engine | |
parent | de9db9940fbcf32ccd93169d2ed6aa874869b84d (diff) | |
download | sqlalchemy-7f25fcadafe1b227c27b223696ce3bcc88e47ec7.tar.gz |
Reflect table can reflect table with no columns
The :meth:`_engine.Inspector.reflect_table` method now supports reflecting
tables that do not have user defined columns. This allows
:meth:`_schema.MetaData.reflect` to properly complete reflection on
databases that contain such tables. Currently, only PostgreSQL is known
to support such a construct among the common database backends.
Fixes: #3247
Closes: #7118
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7118
Pull-request-sha: cb8ce01957e9a1453290a7c2728af8c60ef55fa1
Change-Id: I906cebe17d13554d79086b92f3e1e51ffba3e818
Diffstat (limited to 'lib/sqlalchemy/engine')
-rw-r--r-- | lib/sqlalchemy/engine/reflection.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py index 715781b7a..113aa8ea0 100644 --- a/lib/sqlalchemy/engine/reflection.py +++ b/lib/sqlalchemy/engine/reflection.py @@ -784,8 +784,9 @@ class Inspector(object): cols_by_orig_name, ) - if not found_table: - raise exc.NoSuchTableError(table.name) + # NOTE: support tables/views with no columns + if not found_table and not self.has_table(table_name, schema): + raise exc.NoSuchTableError(table_name) self._reflect_pk( table_name, schema, table, cols_by_orig_name, exclude_columns |