fix(db): 重用 DatabaseManager engine pool
Some checks failed
CD Pipeline / deploy (push) Has been cancelled

This commit is contained in:
OoO
2026-04-30 09:01:17 +08:00
parent 5a569d1e05
commit 9750093abd
4 changed files with 91 additions and 14 deletions

View 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()