from sqlalchemy.orm import Session from app.db.session import engine from app.db.base import Base from app.models import user, class_model, subject, grade, attendance, notification from app.core.config import settings from app.services.user import user_service from app.schemas.user import UserCreate from app.models.user import UserRole def init_db(db: Session) -> None: # Create tables Base.metadata.create_all(bind=engine) # Create initial superuser user = user_service.get_by_email(db, email=settings.FIRST_SUPERUSER_EMAIL) if not user: user_in = UserCreate( email=settings.FIRST_SUPERUSER_EMAIL, password=settings.FIRST_SUPERUSER_PASSWORD, first_name="System", last_name="Administrator", role=UserRole.ADMIN, is_active=True ) user = user_service.create(db, obj_in=user_in)