20 lines
528 B
Python
20 lines
528 B
Python
|
|
"""
|
||
|
|
数据库会话 — SQLModel 同步引擎 + Session 工厂
|
||
|
|
"""
|
||
|
|
|
||
|
|
from sqlmodel import Session, SQLModel, create_engine
|
||
|
|
|
||
|
|
from app.core.config import settings
|
||
|
|
|
||
|
|
engine = create_engine(settings.DATABASE_URL, echo=False)
|
||
|
|
|
||
|
|
|
||
|
|
def init_db():
|
||
|
|
"""创建所有 SQLModel 表(仅开发用,生产由手写 SQL 管理)。"""
|
||
|
|
SQLModel.metadata.create_all(engine)
|
||
|
|
|
||
|
|
|
||
|
|
def get_session():
|
||
|
|
"""FastAPI 依赖注入: 每个请求获取一个 Session,用完后关闭。"""
|
||
|
|
with Session(engine) as session:
|
||
|
|
yield session
|