Files
RuoYi-Vue3-FastAPI/ruoyi-fastapi-backend/config/get_db.py
T

29 lines
767 B
Python

from collections.abc import AsyncGenerator
from sqlalchemy.ext.asyncio import AsyncSession
from config.database import AsyncSessionLocal, Base, async_engine
from utils.log_util import logger
async def get_db() -> AsyncGenerator[AsyncSession, None]:
"""
每一个请求处理完毕后会关闭当前连接,不同的请求使用不同的连接
:return:
"""
async with AsyncSessionLocal() as current_db:
yield current_db
async def init_create_table() -> None:
"""
应用启动时初始化数据库连接
:return:
"""
logger.info('🔎 初始化数据库连接...')
async with async_engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
logger.info('✅️ 数据库连接成功')