-- ============================================================================
-- Migration 029: Reconciliacion de esquema de variantes de inventario
-- Fecha: 2026-02-12
-- ============================================================================
-- Objetivos:
-- 1) Asegurar que inventario_variantes_resolucion_log.precio_final sea NULLABLE
-- 2) Ampliar catalogo de inventario_variantes_categoria.tipo_item a 1..8
--    1=Producto, 2=Servicio, 3=Insumo, 4=Materia Prima, 5=Paquete,
--    6=Extra, 7=Evento, 8=Boleto
-- ============================================================================
-- Script idempotente para el ejecutor run_migration.php
-- ============================================================================

ALTER TABLE inventario_variantes_resolucion_log
    ALTER COLUMN precio_final DROP NOT NULL;

ALTER TABLE inventario_variantes_categoria
    DROP CONSTRAINT IF EXISTS chk_ivc_tipo_item;

ALTER TABLE inventario_variantes_categoria
    ADD CONSTRAINT chk_ivc_tipo_item
    CHECK (
        tipo_item IS NULL
        OR tipo_item = ANY (ARRAY[1,2,3,4,5,6,7,8])
    );
