"""Quick DB init script - creates tables and seeds admin user.""" import sys sys.path.insert(0, ".") from app.database import init_db, SessionLocal from app.models.tenant import Tenant from app.models.user import User from app.core.security import hash_password print("Initializing database...") init_db() print("Tables created.") db = SessionLocal() # Default tenant t = db.query(Tenant).filter(Tenant.slug == "default").first() if not t: t = Tenant(name="默认租户", slug="default") db.add(t) db.flush() print(f"Created tenant: {t.name} (id={t.id})") else: print(f"Tenant exists: {t.name} (id={t.id})") # Admin user u = db.query(User).filter(User.email == "admin@test.com").first() if not u: u = User( email="admin@test.com", username="admin", hashed_password=hash_password("admin123"), role="tenant_admin", user_type="human", tenant_id=t.id, ) db.add(u) db.commit() print(f"Created admin user: {u.email} (id={u.id}, tenant_id={u.tenant_id})") else: print(f"Admin user exists: {u.email}") db.close() print("Done!")