Files
planet/backend/scripts/create_admin.py
2026-03-07 13:06:37 +08:00

40 lines
1.1 KiB
Python

import asyncio
import sys
sys.path.insert(0, ".")
from app.db.session import async_session_factory
from app.models.user import User
from app.core.security import get_password_hash
async def create_admin():
async with async_session_factory() as session:
# 检查用户是否已存在
from sqlalchemy import select
result = await session.execute(select(User).where(User.username == "linkong"))
existing_user = result.scalar_one_or_none()
if existing_user:
print(f"用户 linkong 已存在,更新密码...")
existing_user.set_password("LK12345678")
existing_user.role = "super_admin"
else:
print("创建管理员用户...")
user = User(
username="linkong",
email="linkong@example.com",
password_hash=get_password_hash("LK12345678"),
role="super_admin",
is_active=True,
)
session.add(user)
await session.commit()
print("完成!")
if __name__ == "__main__":
asyncio.run(create_admin())