summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-10-06 15:34:08 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-10-06 15:34:08 +0000
commitf7f1426dab2bf8789b4de4ad0f284d4c132f4467 (patch)
treeb743b06795650b213c06e2dcf4f53adf3146647e /lib/sqlalchemy
parent24c29b9ae77b18124ecfeae2021e94c6b319b66e (diff)
downloadsqlalchemy-f7f1426dab2bf8789b4de4ad0f284d4c132f4467.tar.gz
better error message for unconnected DynamicMetaData [ticket:326]
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/schema.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index 72109379d..4c7d15c63 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -983,7 +983,12 @@ class DynamicMetaData(MetaData):
"""disposes all Engines to which this DynamicMetaData has been connected."""
for e in self.__engines.values():
e.dispose()
- engine=property(lambda s:hasattr(s.context, '_engine') and s.context._engine or None)
+ def _get_engine(self):
+ if hasattr(self.context, '_engine'):
+ return self.context._engine
+ else:
+ raise exceptions.InvalidRequestError("This DynamicMetaData is not connected to any engine")
+ engine=property(_get_engine)
class SchemaVisitor(sql.ClauseVisitor):
"""defines the visiting for SchemaItem objects"""