Files
full-stack-doc/backend/create_test_user.py
2025-10-14 20:05:29 +08:00

71 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
创建测试用户的脚本
"""
import requests
import hashlib
import mysql.connector
# API基础URL
BASE_URL = "http://localhost:8000/api/v1"
def create_user_directly():
"""直接在数据库中创建用户"""
try:
# 连接数据库
conn = mysql.connector.connect(
host="101.126.85.76",
user="mytest_db",
password="mytest_db",
database="mytest_db"
)
cursor = conn.cursor()
# 检查用户是否已存在
cursor.execute("SELECT id FROM users WHERE username = %s", ("testuser",))
user = cursor.fetchone()
if user:
print(f"用户已存在ID: {user[0]}")
return user[0]
# 创建密码哈希
password = "TestPass123!"
password_hash = hashlib.sha256(password.encode()).hexdigest()
# 插入用户
insert_query = """
INSERT INTO users (username, email, password_hash, storage_quota, storage_used, is_active, is_verified)
VALUES (%s, %s, %s, %s, %s, %s, %s)
"""
cursor.execute(insert_query, (
"testuser",
"test@example.com",
password_hash,
104857600, # 100MB
0,
True,
True
))
user_id = cursor.lastrowid
conn.commit()
print(f"用户创建成功ID: {user_id}")
return user_id
except Exception as e:
print(f"创建用户出错: {e}")
return None
finally:
if 'conn' in locals() and conn.is_connected():
cursor.close()
conn.close()
if __name__ == "__main__":
user_id = create_user_directly()
if user_id:
print(f"测试用户ID: {user_id}")
else:
print("创建用户失败")