This commit is contained in:
2026-03-04 01:28:28 +08:00
parent 9357a46902
commit f6eb09eb9f
3 changed files with 36 additions and 15 deletions
+29 -12
View File
@@ -1,8 +1,17 @@
import asyncio
import sys
from pathlib import Path
project_root = Path(__file__).parent.parent.parent
src_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))
sys.path.insert(0, str(src_root))
from sqlalchemy import select
from database.database import db_manager
from models.database import User
from models.database import User, Role, UserRole
from services.auth_service import get_password_hash
from config.settings import settings
from utils.logger import get_logger
logger = get_logger(__name__)
@@ -15,35 +24,43 @@ async def create_admin_user():
async with db_manager.session() as session:
result = await session.execute(
select(User).where(User.username == "admin")
select(User).where(User.username == settings.ADMIN_USERNAME)
)
existing_admin = result.scalar_one_or_none()
if existing_admin:
logger.info("管理员账户已存在")
print("管理员账户已存在")
print("用户名: admin")
print(f"用户名: {settings.ADMIN_USERNAME}")
return
admin = User(
username="admin",
email="admin@gemold.com",
hashed_password=get_password_hash("admin123"),
full_name="系统管理员",
is_active=True,
is_superuser=True
username=settings.ADMIN_USERNAME,
email=settings.ADMIN_EMAIL,
hashed_password=get_password_hash(settings.ADMIN_PASSWORD),
full_name=settings.ADMIN_FULL_NAME,
is_active=True
)
session.add(admin)
await session.flush()
result = await session.execute(select(Role).where(Role.code == "admin"))
admin_role = result.scalar_one_or_none()
if admin_role:
user_role = UserRole(user_id=admin.id, role_id=admin_role.id)
session.add(user_role)
await session.commit()
logger.info("管理员账户创建成功")
print("=" * 50)
print("管理员账户创建成功!")
print("=" * 50)
print("用户名: admin")
print("密码: admin123")
print("邮箱: admin@gemold.com")
print(f"用户名: {settings.ADMIN_USERNAME}")
print(f"密码: {settings.ADMIN_PASSWORD}")
print(f"邮箱: {settings.ADMIN_EMAIL}")
print("=" * 50)
print("⚠️ 请登录后立即修改密码!")
print("=" * 50)