create_admin_user.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/usr/bin/env python3
  2. """创建Admin管理员用户"""
  3. from database import SessionLocal
  4. from models.total import User
  5. import bcrypt
  6. def create_admin_user():
  7. db = SessionLocal()
  8. try:
  9. # 检查Admin用户是否已存在
  10. existing = db.query(User).filter(User.username == 'Admin').first()
  11. if existing:
  12. print("✅ Admin用户已存在")
  13. print(f" 用户名: {existing.username}")
  14. print(f" 角色: {existing.role}")
  15. print(f" ID: {existing.id}")
  16. return
  17. # 创建密码哈希
  18. password = "123456"
  19. hashed_password = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
  20. # 创建管理员用户
  21. admin_user = User(
  22. username="Admin",
  23. password=hashed_password,
  24. nickname="管理员",
  25. role="admin",
  26. status=1,
  27. points=1000,
  28. is_deleted=0
  29. )
  30. db.add(admin_user)
  31. db.commit()
  32. db.refresh(admin_user)
  33. print(f"✅ Admin管理员创建成功!")
  34. print(f" 用户名: {admin_user.username}")
  35. print(f" 密码: 123456")
  36. print(f" 角色: {admin_user.role}")
  37. print(f" 初始积分: {admin_user.points}")
  38. print(f" ID: {admin_user.id}")
  39. except Exception as e:
  40. db.rollback()
  41. print(f"❌ 创建失败: {e}")
  42. import traceback
  43. traceback.print_exc()
  44. finally:
  45. db.close()
  46. if __name__ == "__main__":
  47. create_admin_user()