from werkzeug.security import generate_password_hash, check_password_hash
import mysql.connector

conn = mysql.connector.connect(host='localhost', user='root', password='', database='db_psbna')
cursor = conn.cursor(buffered=True)

# 1. Perbesar kolom password agar muat hash
cursor.execute("ALTER TABLE admin MODIFY COLUMN password VARCHAR(255) NOT NULL")
print("Kolom password admin diperbesar ke VARCHAR(255)")

# 2. Reset semua password dengan hash baru
new_hash = generate_password_hash('admin123')
cursor.execute("UPDATE admin SET password = %s", (new_hash,))
conn.commit()
print(f"Semua password admin direset ke 'admin123' (hash length={len(new_hash)})")

# 3. Verifikasi
cursor.execute("SELECT username, LENGTH(password) as pw_len FROM admin")
for row in cursor.fetchall():
    print(f"  {row[0]}: pw_len={row[1]}")

# 4. Tes final
cursor.execute("SELECT password FROM admin LIMIT 1")
stored = cursor.fetchone()[0]
print(f"\nVerifikasi check_password_hash: {check_password_hash(stored, 'admin123')}")

cursor.close()
conn.close()
