Files
Solo_bot/database/init_db.py
T
2026-03-19 21:55:12 +03:00

37 lines
1.2 KiB
Python

from datetime import datetime
from sqlalchemy import select
from config import ADMIN_ID
from database import db
from database.models import Admin, Base, User
async def init_db():
async with db.engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
async with db.async_session_maker() as session:
result = await session.execute(select(User).where(User.tg_id == 0))
if not result.scalar_one_or_none():
session.add(
User(
tg_id=0,
username="system",
first_name="System",
is_bot=True,
created_at=datetime.utcnow(),
updated_at=datetime.utcnow(),
)
)
for tg_id in ADMIN_ID:
result = await session.execute(select(Admin).where(Admin.tg_id == tg_id))
if not result.scalar_one_or_none():
session.add(
Admin(
tg_id=tg_id, role="superadmin", description="Imported from config", added_at=datetime.utcnow()
)
)
await session.commit()