Files
Solo_bot/database/init_db.py
T

33 lines
1.1 KiB
Python

from database.db import engine, async_session_maker
from database.models import Base, Admin, User
from sqlalchemy import select
from config import ADMIN_ID
from datetime import datetime
async def init_db():
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
async with 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()