/
rnj
/
SuaiTestBot
Обзор
Документация
Войти
/
rnj
/
SuaiTestBot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
database/init_database.py
46 строк
1 KB
Dmitriy Pozdeev
init commit
03 июн 2026, 23:58
03 июн 2026, 23:58
110bad2
Код
Авторство
О чём код?
import os from dotenv import load_dotenv from sqlalchemy import func, select from sqlalchemy_utils import create_database, database_exists from database.database import Session, engine, create_tables from model.group import Group from model.user import User import model.user # noqa: F401 import model.teacher # noqa: F401 import model.discipline # noqa: F401 import model.lesson # noqa: F401 import model.group # noqa: F401 import model.lesson_group # noqa: F401 load_dotenv() def init_database() -> None: if not database_exists(engine.url): create_database(engine.url) create_tables() with Session() as session: if session.execute(select(func.count()).select_from(Group)).scalar() == 0: session.add_all([ Group(number="ИВТ-101", course=1), Group(number="ИВТ-201", course=2), Group(number="ПИ-301", course=3), ]) default_admin = os.getenv("DEFAULT_ADMIN") if default_admin: admin_id = int(default_admin) user = session.execute( select(User).where(User.telegram_id == admin_id) ).scalar_one_or_none() if user is None: session.add(User(telegram_id=admin_id, is_admin=True)) elif not user.is_admin: user.is_admin = True session.commit()