diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 224b18d..91f0ed8 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -8,5 +8,12 @@ jdbc:mysql://localhost:3306/dict $ProjectFileDir$ + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://124.221.145.135:3306/test_db + $ProjectFileDir$ + \ No newline at end of file diff --git a/app/api/admin/dict.py b/app/api/admin/dict.py index 7e97ba1..1d77ae4 100644 --- a/app/api/admin/dict.py +++ b/app/api/admin/dict.py @@ -226,7 +226,7 @@ async def update_by_xlsx( await import_wordlist_fr(path=tmp_path) await import_def_fr(path=tmp_path) except Exception as e: + # Tortoise ORM 会自动回滚事务,所以无需手动删除已添加内容 raise HTTPException(status_code=500, detail=f"导入失败:{str(e)}") - #TODO: 导入失败后的回滚(删除本次已经添加的内容) return {"message": "导入成功"} diff --git a/main.py b/main.py index f85d4c6..b386793 100644 --- a/main.py +++ b/main.py @@ -5,6 +5,7 @@ from fastapi.middleware.cors import CORSMiddleware import uvicorn from tortoise.contrib.fastapi import register_tortoise +from app.utils import redis_client from settings import TORTOISE_ORM from app.api.users import users_router from app.api.admin.router import admin_router @@ -17,7 +18,7 @@ import app.models.signals async def lifespan(app: FastAPI): await init_redis_pool() yield - # 可以加 await redis_client.close() 清理资源 + await redis_client.close() # 清理资源 app = FastAPI(lifespan=lifespan)