初始提交
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
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('✅️ 数据库连接成功')
|
||||
|
||||
|
||||
async def close_async_engine() -> None:
|
||||
"""
|
||||
应用关闭时释放数据库连接池
|
||||
|
||||
:return:
|
||||
"""
|
||||
await async_engine.dispose()
|
||||
Reference in New Issue
Block a user