From 3c2da5d45d42294a32e2fbb834e59763133511a1 Mon Sep 17 00:00:00 2001 From: Randall Smith Date: Thu, 23 Apr 2009 02:46:19 +0000 Subject: [PATCH] raise NoSuchTableError in reflecttable --- lib/sqlalchemy/engine/reflection.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py index a02a1c8b77..372d0e3f49 100644 --- a/lib/sqlalchemy/engine/reflection.py +++ b/lib/sqlalchemy/engine/reflection.py @@ -19,7 +19,7 @@ methods such as get_table_names, get_columns, etc. """ import sqlalchemy -from sqlalchemy import sql +from sqlalchemy import exc, sql from sqlalchemy import util from sqlalchemy.types import TypeEngine from sqlalchemy import schema as sa_schema @@ -282,7 +282,9 @@ class Inspector(object): table_name = table_name.decode(self.dialect.encoding) # end Py2K # columns + found_table = False for col_d in self.get_columns(table_name, schema, **tblkw): + found_table = True name = col_d['name'] coltype = col_d['type'] nullable = col_d['nullable'] @@ -305,6 +307,9 @@ class Inspector(object): colargs.append(sa_schema.DefaultClause(sql.text(default))) table.append_column(sa_schema.Column(name, coltype, nullable=nullable, *colargs, **col_kw)) + + if not found_table: + raise exc.NoSuchTableError(table.name) # Primary keys for pk in self.get_primary_keys(table_name, schema, **tblkw): if pk in table.c: -- 2.47.3