上传文件至「/」

This commit is contained in:
2026-09-21 21:02:30 +08:00
parent 8f5f7682bd
commit bb716df5a1
5 changed files with 107 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# ============================================================
# database.py —— 数据库连接与会话管理
# 职责:创建 SQLAlchemy 引擎、会话工厂,并提供 FastAPI 依赖注入用的 get_db
# ============================================================
from sqlalchemy import create_engine # 创建数据库引擎
from sqlalchemy.orm import sessionmaker # 创建会话工厂
from model import Base # 导入 ORM 基类(所有模型都继承它)
# 数据库引擎:连接 MySQL(驱动 pymysql),目标库名为 fastapi0814
# 连接串格式:mysql+pymysql://用户名:密码@主机/数据库名
engine = create_engine("mysql+pymysql://root:123456@localhost/fastapi0814")
# 会话工厂:用于生成数据库会话对象
# autocommit=False 表示手动提交事务;autoflush=False 表示查询前不自动刷写
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
# FastAPI 依赖函数:通过 Depends(get_db) 注入数据库会话
def get_db():
db = SessionLocal() # 创建新会话
try:
yield db # 把会话交给业务代码使用
finally:
db.close() # 请求结束后无论如何都要关闭会话,避免连接泄漏