Skip to content

Commit cad3ab3

Browse files
committed
Make cleaning up temporary databases more reliable (#770)
Summary: Pull Request resolved: #770 Temporary databases now more cleanly delete themselves even if connection has already been cleaned up. Reviewed By: adellari Differential Revision: D72811319 fbshipit-source-id: 0a81098387e67f64ff704eb15ef35a7d27957cbc
1 parent cb69b56 commit cad3ab3

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

aepsych/database/db.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,13 @@ def get_engine(self) -> sessionmaker:
9999

100100
def delete_db(self) -> None:
101101
"""Delete the database."""
102-
if self._engine is not None and self._full_db_path.exists():
102+
if self._engine is not None:
103103
close_all_sessions()
104-
self._full_db_path.unlink()
105104
self._engine = None
106105

106+
if self._full_db_path.exists():
107+
self._full_db_path.unlink()
108+
107109
if self._temp_dir is not None:
108110
self._temp_dir.cleanup()
109111

aepsych/database/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def combine_dbs(
7979
for master in db.get_master_records():
8080
transfer_dbs(out_db, master, extra_metadata={"origin_db": str(db_path)})
8181

82+
db.cleanup()
8283
num_experiments += 1
8384

8485
return num_experiments

0 commit comments

Comments
 (0)