diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-07-19 22:20:49 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-07-19 22:20:49 +0000 |
commit | 934ac330ea812395b66f82e13afc034303bafc9c (patch) | |
tree | 0d664563ba0bac2aa78f880c5b16dc6a3e313d28 /lib/sqlalchemy/schema.py | |
parent | 8b50115acc7d249129aa8046839eefa2c611c453 (diff) | |
download | sqlalchemy-934ac330ea812395b66f82e13afc034303bafc9c.tar.gz |
added table.exists()
Diffstat (limited to 'lib/sqlalchemy/schema.py')
-rw-r--r-- | lib/sqlalchemy/schema.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index 8fce1665d..6b44cda29 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -236,6 +236,16 @@ class Table(SchemaItem, sql.TableClause): this does not issue a SQL DROP statement.""" key = _get_table_key(self.name, self.schema) del self.metadata.tables[key] + + def exists(self, engine=None): + if engine is None and self.metadata.is_bound(): + engine = self.engine + + def do(conn): + e = conn.engine + return e.dialect.has_table(conn, self.name) + return engine.run_callable(do) + def create(self, connectable=None, checkfirst=False): if connectable is not None: connectable.create(self, checkfirst=checkfirst) |