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
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):