Files
quiz/app/seed.py
T

37 lines
1.1 KiB
Python
Executable File

import os
import json
from app.database import engine, SessionLocal, Base
from app.models import Question, AdminUser
from app.auth import hash_password
from app.seed_40 import seed_40_questions
def seed_db():
Base.metadata.create_all(bind=engine)
db = SessionLocal()
try:
# 1. Admin User
admin_user = os.getenv("ADMIN_USER", "admin")
admin_pass = os.getenv("ADMIN_PASS", "Alohomora2026!")
existing_admin = db.query(AdminUser).filter(AdminUser.username == admin_user).first()
if not existing_admin:
db.add(AdminUser(
username=admin_user,
password_hash=hash_password(admin_pass)
))
db.commit()
print(f"Created default admin user: {admin_user}")
# 2. Seed 40 questions if database is empty
question_count = db.query(Question).count()
if question_count == 0:
print("Question table is empty, seeding 40 initial bilingual questions...")
seed_40_questions()
finally:
db.close()
if __name__ == "__main__":
seed_db()