# utils/db/__init__.py from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession from sqlalchemy.orm import sessionmaker, declarative_base # Создание асинхронного движка SQLAlchemy DATABASE_URL = 'sqlite+aiosqlite:///db/telezab.db' engine = create_async_engine(DATABASE_URL, echo=False) AsyncSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine, class_=AsyncSession) # Базовый класс для всех моделей Base = declarative_base() # Импорт моделей from .whitelist import Whitelist from .user_events import UserEvent from .subscriptions import Subscription from .regions import Region from .events import Event from .admins import Admin # Создание всех таблиц async def init_db(): async with engine.begin() as conn: await conn.run_sync(Base.metadata.create_all) print("INFO:SQLAlchemy:Database inited")