keep tables only in memory.

This commit is contained in:
Friedrich Lindenberg 2016-01-18 11:07:24 +01:00
parent 88fe846249
commit ef2ce6387f

View File

@ -44,12 +44,14 @@ class Database(object):
self.schema = schema self.schema = schema
self.engine = create_engine(url, **engine_kwargs) self.engine = create_engine(url, **engine_kwargs)
self.url = url self.url = url
self.row_type = row_type
self._tables = {}
self.metadata = MetaData(schema=schema) self.metadata = MetaData(schema=schema)
self.metadata.bind = self.engine self.metadata.bind = self.engine
if reflect_metadata: if reflect_metadata:
self.metadata.reflect(self.engine, views=reflect_views) self.metadata.reflect(self.engine, views=reflect_views)
self.row_type = row_type for table_name in self.metadata.tables.keys():
self._tables = {} self.load_table(table_name)
@property @property
def executable(self): def executable(self):
@ -132,9 +134,7 @@ class Database(object):
""" """
Get a listing of all tables that exist in the database. Get a listing of all tables that exist in the database.
""" """
return list( return self._tables.keys()
set(self.metadata.tables.keys()) | set(self._tables.keys())
)
def __contains__(self, member): def __contains__(self, member):
return member in self.tables return member in self.tables