Updates clear_db() to unregister models and close session.

fixes bug 1080988

This change fixes the bug by ensuring the metadata and session objects
are properly cleaned up by clear_db(). Using the proper calls reduces
the memory required by unit tests.

Change-Id: I1d1802b642eff83b7f96211608195afaf68e855a
This commit is contained in:
Iryoung Jeong 2012-11-15 15:23:12 +09:00 committed by Gary Kotton
parent 925b4185f5
commit bf0e73f300

View File

@ -85,13 +85,15 @@ def configure_db(options):
def clear_db(base=BASE):
global _ENGINE
global _ENGINE, _MAKER
assert _ENGINE
for table in reversed(base.metadata.sorted_tables):
try:
_ENGINE.execute(table.delete())
except Exception as e:
LOG.info("Unable to delete table. %s.", e)
unregister_models(base)
if _MAKER:
_MAKER.close_all()
_MAKER = None
_ENGINE.dispose()
_ENGINE = None
def get_session(autocommit=True, expire_on_commit=False):