24 lines
1.1 KiB
Python
Raw Permalink Normal View History

2025-01-11 03:09:05 +06:00
import logging
logging.basicConfig(level=logging.ERROR)
logging.getLogger('sqlalchemy.pool').setLevel(logging.ERROR)
logging.getLogger('sqlalchemy').setLevel(logging.ERROR)
logging.getLogger('sqlalchemy').propagate = False
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.asyncio import async_sessionmaker
from models import Base
from config import DATABASE_URL
import warnings
warnings.filterwarnings("ignore")
# Создание асинхронного движка для подключения к базе данных
engine = create_async_engine(DATABASE_URL, echo=False, pool_pre_ping=True)
# Создание сессий для работы с базой данных
async_session = async_sessionmaker(engine, expire_on_commit=False, class_=AsyncSession)
# Функция для инициализации базы данных
async def init_db():
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all) # Создание всех таблиц, определенных в моделях