37 lines
1.1 KiB
Python
Executable File
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()
|