"""
RPG Gamifikācijas Migrācija — pievieno XP, līmeņa un sasniegumu kolonnas users tabulai.
Palaid: python migrate_rpg.py
"""
import os
import mysql.connector
from dotenv import load_dotenv

load_dotenv()

db = mysql.connector.connect(
    host=os.getenv("DB_HOST"),
    user=os.getenv("DB_USER"),
    password=os.getenv("DB_PASS"),
    database=os.getenv("DB_NAME")
)
cursor = db.cursor()

migrations = [
    "ALTER TABLE users ADD COLUMN xp INT DEFAULT 0",
    "ALTER TABLE users ADD COLUMN level INT DEFAULT 1",
    "ALTER TABLE users ADD COLUMN streak_days INT DEFAULT 0",
    "ALTER TABLE users ADD COLUMN last_activity DATE DEFAULT NULL",
    "ALTER TABLE users ADD COLUMN achievements JSON DEFAULT NULL",
    "ALTER TABLE users ADD COLUMN completed_lessons JSON DEFAULT NULL",
    "ALTER TABLE users ADD COLUMN exam_lesson_id INT DEFAULT NULL",
    "ALTER TABLE users ADD COLUMN last_reminder_date DATE DEFAULT NULL",
    "ALTER TABLE users ADD COLUMN recommendations JSON DEFAULT NULL",
]

for sql in migrations:
    try:
        cursor.execute(sql)
        print(f"✅ OK: {sql[:60]}...")
    except mysql.connector.Error as e:
        if e.errno == 1060:  # Duplicate column
            print(f"⏩ Jau eksistē: {sql[:60]}...")
        else:
            print(f"❌ Kļūda: {e}")

db.commit()
cursor.close()
db.close()
print("\n🎉 Migrācija pabeigta!")
