71 lines
1.8 KiB
Python
71 lines
1.8 KiB
Python
#!/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("创建用户失败") |