fix: 数据库会话事务安全兜底

get_db() 依赖注入增加 try/except/rollback/finally:
- 请求处理中发生异常时自动 rollback
- 无论成功或异常,finally 中确保 close 释放连接
- 防止异常导致连接泄漏或脏事务残留
This commit is contained in:
2026-08-12 12:04:45 +08:00
parent 3a6ab7d756
commit d59f732a0e

View File

@ -19,6 +19,12 @@ AsyncSessionLocal = async_sessionmaker(
async def get_db() -> AsyncSession:
"""FastAPI 依赖注入:每次请求获取一个数据库会话"""
"""FastAPI 依赖注入:每次请求获取一个数据库会话(带事务安全兜底)"""
async with AsyncSessionLocal() as session:
yield session
try:
yield session
except Exception:
await session.rollback()
raise
finally:
await session.close()