diff --git a/app/database.py b/app/database.py index d9d3cd3..ea46a04 100644 --- a/app/database.py +++ b/app/database.py @@ -50,9 +50,15 @@ async_session_factory = async_sessionmaker( async def get_db() -> AsyncGenerator[AsyncSession, None]: """ FastAPI 依赖项:获取异步数据库会话。 + 请求正常结束后自动 commit,异常时自动 rollback。 """ async with async_session_factory() as session: - yield session + try: + yield session + await session.commit() + except Exception: + await session.rollback() + raise async def close_db() -> None: