This commit is contained in:
2026-03-04 00:52:35 +08:00
parent f3196f3e87
commit 006a30ea0c
3 changed files with 97 additions and 4 deletions
+35 -4
View File
@@ -2,18 +2,49 @@
import asyncio
from database.database import db_manager
from utils.logger import get_logger
from sqlalchemy import select
from models.database import User
from services.auth_service import get_password_hash
logger = get_logger(__name__)
async def create_default_admin():
"""创建默认管理员账户"""
try:
async with db_manager.session() as session:
result = await session.execute(
select(User).where(User.username == "admin")
)
existing_admin = result.scalar_one_or_none()
if existing_admin:
logger.info("管理员账户已存在")
return
admin = User(
username="admin",
email="admin@gemold.com",
hashed_password=get_password_hash("admin123"),
full_name="系统管理员",
is_active=True,
is_superuser=True
)
session.add(admin)
await session.commit()
logger.info("默认管理员账户创建成功 (用户名: admin, 密码: admin123)")
except Exception as e:
logger.error(f"创建默认管理员失败: {e}")
async def init_database():
"""初始化数据库"""
try:
# 连接数据库
await db_manager.connect()
# 创建表
await db_manager.create_tables()
await create_default_admin()
logger.info("数据库初始化完成")
return True