baoxiang/backend/create_test_users.py

89 lines
2.8 KiB
Python
Raw Normal View History

2025-12-16 18:06:50 +08:00
"""
创建测试用户脚本
"""
import sys
import os
# 添加项目根目录到 Python 路径
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from app.core.database import SessionLocal
from app.models.user import User, UserRole, UserStatus
from app.core.security import get_password_hash
def create_test_users():
"""创建测试用户"""
db = SessionLocal()
try:
# 创建管理员用户
admin_user = db.query(User).filter(User.username == "admin").first()
if not admin_user:
password = "admin123"
hashed_password = get_password_hash(password)
admin_user = User(
username="admin",
email="admin@example.com",
hashed_password=hashed_password,
role=UserRole.ADMIN,
nickname="系统管理员",
status=UserStatus.ACTIVE,
balance=1000000,
is_active=1,
)
db.add(admin_user)
print(f"Admin user created")
# 创建主播用户
streamer_user = db.query(User).filter(User.username == "streamer").first()
if not streamer_user:
password = "streamer123"
hashed_password = get_password_hash(password)
streamer_user = User(
username="streamer",
email="streamer@example.com",
hashed_password=hashed_password,
role=UserRole.STREAMER,
nickname="测试主播",
status=UserStatus.ACTIVE,
balance=500000,
is_active=1,
)
db.add(streamer_user)
print(f"Streamer user created")
# 创建普通用户
normal_user = db.query(User).filter(User.username == "user").first()
if not normal_user:
password = "user123"
hashed_password = get_password_hash(password)
normal_user = User(
username="user",
email="user@example.com",
hashed_password=hashed_password,
role=UserRole.USER,
nickname="测试用户",
status=UserStatus.ACTIVE,
balance=200000,
is_active=1,
)
db.add(normal_user)
print(f"Normal user created")
db.commit()
print(f"\nAll test users created successfully!")
print(f"\nLogin credentials:")
print(f"Admin: username=admin, password=admin123")
print(f"Streamer: username=streamer, password=streamer123")
print(f"User: username=user, password=user123")
except Exception as e:
db.rollback()
print(f"Error creating users: {e}")
finally:
db.close()
if __name__ == "__main__":
create_test_users()