<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        // 1. Corregir tipo de dato en qr_codes (ENUM -> VARCHAR)
        // Usamos DB::statement por compatibilidad con MariaDB/MySQL sin necesidad de dbal
        DB::statement("ALTER TABLE qr_codes MODIFY tipo_qr VARCHAR(50) NOT NULL");

        // 2. Corregir marcadores en eventos (0 -> NULL)
        DB::statement("ALTER TABLE eventos MODIFY marcador_local INT NULL DEFAULT NULL");
        DB::statement("ALTER TABLE eventos MODIFY marcador_visitante INT NULL DEFAULT NULL");

        // 3. Limpieza de datos: partidos con 0-0 que deberían ser Pendientes (NULL)
        // Solo afectamos registros donde ambos son 0 para no romper resultados reales (aunque raros en básquet)
        DB::table('eventos')
            ->where('marcador_local', 0)
            ->where('marcador_visitante', 0)
            ->update([
                'marcador_local' => null, 
                'marcador_visitante' => null
            ]);
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        // Volver a ENUM y Default 0
        DB::statement("ALTER TABLE qr_codes MODIFY tipo_qr ENUM('invitado', 'publico') NOT NULL");
        DB::statement("ALTER TABLE eventos MODIFY marcador_local INT NOT NULL DEFAULT 0");
        DB::statement("ALTER TABLE eventos MODIFY marcador_visitante INT NOT NULL DEFAULT 0");
    }
};
