<?php
require_once 'config.php';
require_once 'includes/Database.php';

$db = new Database();

echo "=== Migration Başlatılıyor ===\n\n";

// CREATE TABLE sorgusunu çalıştır
$createTableSQL = "CREATE TABLE IF NOT EXISTS criteria_history (
    id INT AUTO_INCREMENT PRIMARY KEY,
    criteria_code VARCHAR(50) NOT NULL,
    point_value DECIMAL(10, 2) NOT NULL,
    start_date DATE NOT NULL,
    end_date DATE NULL DEFAULT NULL,
    notes TEXT,
    created_by INT DEFAULT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

    FOREIGN KEY (criteria_code) REFERENCES criteria(code) ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL,

    INDEX idx_criteria_code (criteria_code),
    INDEX idx_date_range (start_date, end_date),
    INDEX idx_created_by (created_by),

    CONSTRAINT chk_date_order CHECK (end_date IS NULL OR end_date >= start_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_turkish_ci";

try {
    echo "1. Tablo oluşturuluyor...\n";
    $db->query($createTableSQL);
    echo "   ✓ criteria_history tablosu oluşturuldu\n\n";
} catch (Exception $e) {
    echo "   ✗ Hata: " . $e->getMessage() . "\n\n";
}

// Örnek verileri ekle
echo "2. Örnek veriler ekleniyor...\n";
try {
    $db->query("
        INSERT INTO criteria_history (criteria_code, point_value, start_date, end_date, notes)
        VALUES (?, ?, ?, ?, ?)
    ", ['egitim_orani', 0.35, '2025-01-01', '2025-02-29', 'Ocak-Şubat 2025 dönemi için düşürülmüş oran']);
    echo "   ✓ Eğitim oranı (Ocak-Şubat) eklendi\n";
} catch (Exception $e) {
    echo "   ✗ Hata: " . $e->getMessage() . "\n";
}

try {
    $db->query("
        INSERT INTO criteria_history (criteria_code, point_value, start_date, end_date, notes)
        VALUES (?, ?, ?, ?, ?)
    ", ['egitim_orani', 0.40, '2025-03-01', null, 'Mart 2025 ve sonrası için normal oran']);
    echo "   ✓ Eğitim oranı (Mart ve sonrası) eklendi\n";
} catch (Exception $e) {
    echo "   ✗ Hata: " . $e->getMessage() . "\n";
}

echo "\n=== Migration Tamamlandı ===\n\n";

// Kontrol
$count = $db->fetchOne("SELECT COUNT(*) as total FROM criteria_history");
echo "Toplam kayıt sayısı: {$count['total']}\n";
