<?php
/**
 * Migración: agrega domicilio_id a lab_ordenes_medicas
 * Ejecutar en el servidor: php migrations/run_20260324_ordenes_domicilio_id.php
 */
require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/../classes/Database.php';

$db  = Database::getInstance()->getConnection();
$ok  = 0;
$err = 0;

$statements = [
    "ALTER TABLE `lab_ordenes_medicas`
        ADD COLUMN `domicilio_id` INT(11) DEFAULT NULL
            COMMENT 'FK a lab_domicilios.id — domicilio al que pertenece esta orden/archivo'
            AFTER `paciente_id`",
    "ALTER TABLE `lab_ordenes_medicas`
        ADD INDEX `idx_om_domicilio_id` (`domicilio_id`)",
];

foreach ($statements as $sql) {
    try {
        $db->exec($sql);
        echo "✅ OK: " . substr(trim($sql), 0, 80) . "\n";
        $ok++;
    } catch (PDOException $e) {
        // Ignorar si la columna/índice ya existe
        if (str_contains($e->getMessage(), 'Duplicate column') || str_contains($e->getMessage(), 'Duplicate key')) {
            echo "⚠️  Ya existe (omitido): " . substr(trim($sql), 0, 60) . "\n";
        } else {
            echo "❌ ERROR: " . $e->getMessage() . "\n";
            $err++;
        }
    }
}

echo "\nMigración completada: {$ok} OK, {$err} errores.\n";
