feat: 初始化考培练系统项目
- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
90
backend/create_admin_users.py
Normal file
90
backend/create_admin_users.py
Normal file
@@ -0,0 +1,90 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
创建管理员用户脚本
|
||||
"""
|
||||
import asyncio
|
||||
import sys
|
||||
import os
|
||||
|
||||
# 添加项目根目录到Python路径
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
async def create_admin_users():
|
||||
"""创建管理员用户"""
|
||||
try:
|
||||
from app.config.database import AsyncSessionLocal
|
||||
from app.models.user import User
|
||||
from app.core.security import get_password_hash
|
||||
from sqlalchemy import select
|
||||
|
||||
print("🔧 创建管理员用户...")
|
||||
|
||||
# 管理员用户配置
|
||||
admin_users = [
|
||||
{
|
||||
"username": "admin",
|
||||
"password": "Admin123!",
|
||||
"email": "admin@kaopeilian.com",
|
||||
"full_name": "系统管理员",
|
||||
"role": "admin",
|
||||
"is_superuser": True,
|
||||
"is_active": True
|
||||
},
|
||||
{
|
||||
"username": "superadmin",
|
||||
"password": "Superadmin123!",
|
||||
"email": "superadmin@kaopeilian.com",
|
||||
"full_name": "超级管理员",
|
||||
"role": "admin",
|
||||
"is_superuser": True,
|
||||
"is_active": True
|
||||
}
|
||||
]
|
||||
|
||||
async with AsyncSessionLocal() as session:
|
||||
for user_data in admin_users:
|
||||
# 检查用户是否已存在
|
||||
result = await session.execute(
|
||||
select(User).where(User.username == user_data["username"])
|
||||
)
|
||||
existing_user = result.scalar_one_or_none()
|
||||
|
||||
if existing_user:
|
||||
print(f"⚠️ 用户 '{user_data['username']}' 已存在,跳过创建")
|
||||
continue
|
||||
|
||||
# 创建新用户
|
||||
hashed_password = get_password_hash(user_data["password"])
|
||||
user = User(
|
||||
username=user_data["username"],
|
||||
email=user_data["email"],
|
||||
hashed_password=hashed_password,
|
||||
full_name=user_data["full_name"],
|
||||
role=user_data["role"],
|
||||
is_active=user_data["is_active"]
|
||||
)
|
||||
|
||||
session.add(user)
|
||||
await session.commit()
|
||||
await session.refresh(user)
|
||||
|
||||
print(f"✅ 管理员用户创建成功:")
|
||||
print(f" 用户名: {user.username}")
|
||||
print(f" 密码: {user_data['password']}")
|
||||
print(f" 角色: {user.role}")
|
||||
print(f" 邮箱: {user.email}")
|
||||
print(" ---")
|
||||
|
||||
print("\n🎉 管理员用户创建完成!")
|
||||
print("\n📋 登录信息汇总:")
|
||||
print("1. 超级管理员: superadmin / Superadmin123!")
|
||||
print("2. 系统管理员: admin / Admin123!")
|
||||
print("3. 测试学员: testuser / TestPass123!")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 创建管理员用户失败: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(create_admin_users())
|
||||
Reference in New Issue
Block a user