-- ============================================================================
-- MIGRACION 008: Agregar columna id_modelo_usado a planes_pago
-- Fecha: 2026-01-26
-- Descripcion: Referencia informativa al modelo usado para crear el plan
-- ============================================================================
-- IMPORTANTE: Este script es idempotente - puede ejecutarse multiples veces
-- ============================================================================

-- ============================================================================
-- SECCION 1: AGREGAR COLUMNA (idempotente con verificacion)
-- ============================================================================

-- Verificar si la columna existe antes de agregarla
DO $$
BEGIN
    IF NOT EXISTS (
        SELECT 1 FROM information_schema.columns
        WHERE table_name = 'planes_pago' AND column_name = 'id_modelo_usado'
    ) THEN
        ALTER TABLE planes_pago ADD COLUMN id_modelo_usado INTEGER NULL;
        RAISE NOTICE 'OK: Columna id_modelo_usado agregada';
    ELSE
        RAISE NOTICE 'INFO: Columna id_modelo_usado ya existe';
    END IF;
END $$;

-- ============================================================================
-- SECCION 2: COMENTARIO
-- ============================================================================

COMMENT ON COLUMN planes_pago.id_modelo_usado IS
'ID del modelo usado para crear este plan (informativo, nullable). El plan funciona independientemente de si el modelo existe.';

-- ============================================================================
-- SECCION 3: INDICE (opcional, para reportes futuros)
-- ============================================================================

CREATE INDEX IF NOT EXISTS idx_planes_pago_modelo_usado
ON planes_pago USING btree (id_modelo_usado)
WHERE id_modelo_usado IS NOT NULL;

-- ============================================================================
-- FIN DE LA MIGRACION 008
-- ============================================================================
