42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from app import create_app
|
|
from app.models import db, User, Student
|
|
from werkzeug.security import generate_password_hash
|
|
|
|
|
|
def init_database():
|
|
"""初始化数据库,修复密码哈希问题"""
|
|
app = create_app()
|
|
|
|
with app.app_context():
|
|
print("正在修复用户密码...")
|
|
|
|
# 获取所有用户
|
|
users = User.query.all()
|
|
|
|
for user in users:
|
|
if user.student_number == 'admin':
|
|
# 管理员密码设为 admin123
|
|
new_password = 'admin123'
|
|
else:
|
|
# 学生密码设为学号
|
|
new_password = user.student_number
|
|
|
|
# 生成正确的密码哈希
|
|
user.password_hash = generate_password_hash(new_password)
|
|
print(f"修复用户: {user.student_number}, 密码: {new_password}")
|
|
|
|
try:
|
|
db.session.commit()
|
|
print("✅ 所有用户密码修复完成!")
|
|
print("\n登录信息:")
|
|
print("管理员 - 学号: admin, 密码: admin123")
|
|
print("学生用户 - 学号: [学号], 密码: [学号]")
|
|
|
|
except Exception as e:
|
|
db.session.rollback()
|
|
print(f"❌ 修复失败: {e}")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
init_database()
|