#!/usr/bin/env python3 """ 初始化数据库,创建默认管理员账号 """ from sqlalchemy.orm import Session from app.models.database import engine, Base, SessionLocal from app.models.models import User from app.services.user import UserService def init_db(): """初始化数据库""" # 创建所有表 print("创建数据库表...") Base.metadata.create_all(bind=engine) print("数据库表创建完成") # 创建默认管理员账号 print("\n创建默认管理员账号...") db = SessionLocal() try: # 检查是否已存在管理员账号 admin_user = db.query(User).filter(User.username == "admin").first() if not admin_user: # 创建默认管理员账号 admin_user = User( id="user-admin", username="admin", email="admin@example.com", password_hash=UserService.get_password_hash("admin123"), role="admin", status="active" ) db.add(admin_user) db.commit() db.refresh(admin_user) print("✅ 默认管理员账号创建成功") print(f"用户名: admin") print(f"密码: admin123") else: print("⚠️ 管理员账号已存在") finally: db.close() if __name__ == "__main__": init_db()