Kamixitong/init_admin.py

51 lines
1.5 KiB
Python
Raw Normal View History

2025-11-11 21:39:12 +08:00
#!/usr/bin/env python3
"""
初始化管理员账户脚本
创建默认管理员用户 admin/admin123
"""
import os
import sys
from app import create_app, db
from app.models import Admin
def init_admin():
"""初始化管理员账户"""
app = create_app('default')
with app.app_context():
try:
# 检查是否已存在管理员用户
existing_admin = Admin.query.filter_by(username='admin').first()
if existing_admin:
print(f"✅ 管理员用户已存在: username={existing_admin.username}")
return False
# 创建默认管理员
admin = Admin(
username='admin',
email='admin@example.com',
role=1, # 1表示超级管理员
status=1
)
admin.set_password('admin123')
db.session.add(admin)
db.session.commit()
print("✅ 默认管理员创建成功!")
print(" 用户名: admin")
print(" 密码: admin123")
print(" 状态: 正常")
return True
except Exception as e:
print(f"❌ 创建管理员失败: {str(e)}")
db.session.rollback()
return False
if __name__ == '__main__':
success = init_admin()
if success:
print("✨ 请使用 admin/admin123 登录系统")
else:
print(" 如果已存在管理员用户则无需重复初始化")