-- Aktualizacja schematu dla modułu pamięci
-- Dodanie kolumny exercise_type do tabeli progress

-- Sprawdź czy kolumna exercise_type już istnieje
SELECT COUNT(*) as column_exists 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'edu_app' 
AND TABLE_NAME = 'progress' 
AND COLUMN_NAME = 'exercise_type';

-- Dodaj kolumnę exercise_type jeśli nie istnieje
ALTER TABLE progress 
ADD COLUMN IF NOT EXISTS exercise_type VARCHAR(50) DEFAULT NULL AFTER module_id;

-- Dodaj indeks dla lepszej wydajności zapytań
CREATE INDEX IF NOT EXISTS idx_progress_module_exercise 
ON progress (user_id, module_id, exercise_type);

-- Opcjonalnie: Dodaj tabelę dla statystyk pamięci (rozszerzona analityka)
CREATE TABLE IF NOT EXISTS memory_stats (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    exercise_type VARCHAR(50) NOT NULL,
    sequence_length INT NOT NULL,
    accuracy DECIMAL(5,2) NOT NULL,
    response_time INT DEFAULT NULL, -- w milisekundach
    completed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    FOREIGN KEY (user_id) REFERENCES users(id),
    INDEX idx_memory_stats_user (user_id),
    INDEX idx_memory_stats_type (exercise_type),
    INDEX idx_memory_stats_date (completed_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;