""" 数据库配置 """ from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker from app.core.config import settings # 创建数据库引擎(MySQL) engine = create_engine( settings.DATABASE_URL, pool_pre_ping=True, pool_size=10, max_overflow=20, echo=settings.DEBUG # 开发环境显示SQL ) # 创建会话工厂 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) # 创建基础模型类 Base = declarative_base() def get_db(): """获取数据库会话""" db = SessionLocal() try: yield db finally: db.close() def init_db(): """初始化数据库,创建所有表""" # 导入所有模型,确保它们被注册 import app.models.user import app.models.workflow import app.models.agent import app.models.execution import app.models.model_config import app.models.workflow_template import app.models.permission import app.models.alert_rule Base.metadata.create_all(bind=engine)