from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker from utils.config import settings import time # 创建数据库引擎 DATABASE_URL = f"mysql+pymysql://{settings.database.user}:{settings.database.password}@{settings.database.host}:{settings.database.port}/{settings.database.database}?charset=utf8mb4" engine = create_engine( DATABASE_URL, pool_size=settings.database.pool_size, max_overflow=settings.database.max_overflow, pool_recycle=settings.database.pool_recycle, pool_pre_ping=True, echo=settings.app.debug ) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base() def get_db(): """获取数据库会话""" db = SessionLocal() try: yield db finally: db.close() def get_unix() -> int: """获取当前时间戳""" return int(time.time())