fix(db): 重用 DatabaseManager engine pool
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
This commit is contained in:
16
tests/test_database_manager_cache.py
Normal file
16
tests/test_database_manager_cache.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from database.manager import DatabaseManager
|
||||
|
||||
|
||||
def test_database_manager_reuses_engine_for_same_sqlite_path(tmp_path):
|
||||
DatabaseManager._instance_cache.clear()
|
||||
db_url = f"sqlite:///{tmp_path / 'cache.db'}"
|
||||
|
||||
first = DatabaseManager(db_url)
|
||||
second = DatabaseManager(db_url)
|
||||
|
||||
try:
|
||||
assert second.engine is first.engine
|
||||
assert second.Session is first.Session
|
||||
finally:
|
||||
DatabaseManager._instance_cache.clear()
|
||||
first.engine.dispose()
|
||||
Reference in New Issue
Block a user