from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, Session from config import settings # 创建数据库引擎 engine = create_engine( settings.DATABASE_URL, echo=settings.DEBUG, pool_pre_ping=True, pool_size=5, max_overflow=10, ) # 创建会话工厂 SessionLocal = sessionmaker(bind=engine) def get_session() -> Session: """获取新的数据库会话 使用示例: session = get_session() try: result = session.query(Model).all() session.commit() return result except Exception: session.rollback() raise finally: session.close() """ return SessionLocal()