CHM_attendance/init_db.py
superlishunqin e7fa4bc030 first commit
2025-06-11 19:56:34 +08:00

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()