/
BelgradeGambit
/
CLP
Обзор
Документация
Войти
/
BelgradeGambit
/
CLP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
server/src/database.py
31 строка
1022 B
SaintTonka
GL
08 янв 2025, 20:21
08 янв 2025, 20:21
323a25c
Код
Авторство
О чём код?
from sqlalchemy.ext.asyncio import AsyncSession, AsyncEngine, create_async_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from src.settings import DATABASE_URL import asyncio # Создание движка для подключения к базе данных engine = create_async_engine(DATABASE_URL, echo=True) AsyncSessionLocal = sessionmaker( engine, class_=AsyncSession, expire_on_commit=False ) Base = declarative_base() # Функция для создания таблиц async def create_all_async(engine: AsyncEngine): async with engine.begin() as conn: await conn.run_sync(Base.metadata.create_all) # Функция для получения сессии базы данных async def get_db(): async with AsyncSessionLocal() as session: yield session # Основная функция для запуска async def main(): await create_all_async(engine) if __name__ == "__main__": asyncio.run(main())