| 1234567891011121314151617181920212223242526272829303132333435 |
- 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())
|