import os from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker, Session from app.config.config import settings DATABASE_URL = settings.database_url engine = create_engine(DATABASE_URL, pool_size=20, max_overflow=50, pool_recycle=3600) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base() # 创建所有表(如果有新的模型类,会自动创建相应的表) def init_db(): Base.metadata.create_all(bind=engine) def get_db(): db = SessionLocal() try: yield db finally: db.close()