# creatadmin.py
from app import create_app, db
from models.user import User
from werkzeug.security import generate_password_hash

app = create_app()

with app.app_context():
    # 查找管理员用户（邮箱或用户名）
    admin = User.query.filter_by(email='admin@example.com').first()
    
    if admin:
        # 如果已存在，重置密码
        admin.set_password('admin123456')  # ✅ 使用 set_password 方法
        print(f"✅ 管理员 {admin.username} 的密码已重置为 'admin123456'")
    else:
        # 创建新管理员
        admin = User(
            username='admin',
            email='admin@example.com',
            role='admin',
            is_active=True
        )
        admin.set_password('admin123456')  # ✅ 使用 set_password 方法
        db.session.add(admin)
        print("✅ 管理员账户已创建！用户名: admin，密码: admin123456")

    # 提交到数据库
    db.session.commit()
