ALTER TABLE commerce.transacciones
    ADD COLUMN IF NOT EXISTS id_variante integer;

ALTER TABLE commerce.transacciones
    ADD COLUMN IF NOT EXISTS variante_strategy varchar(32);

ALTER TABLE commerce.transacciones
    ADD COLUMN IF NOT EXISTS variante_audit_id integer;

CREATE INDEX IF NOT EXISTS transacciones_id_variante_idx
    ON commerce.transacciones USING btree (id_variante)
    WHERE id_variante IS NOT NULL;

CREATE INDEX IF NOT EXISTS transacciones_variante_audit_id_idx
    ON commerce.transacciones USING btree (variante_audit_id)
    WHERE variante_audit_id IS NOT NULL;

CREATE INDEX IF NOT EXISTS transacciones_variante_strategy_idx
    ON commerce.transacciones USING btree (variante_strategy)
    WHERE variante_strategy IS NOT NULL;

COMMENT ON COLUMN commerce.transacciones.id_variante IS 'ID de variante de inventario aplicada al registrar la linea de venta.';

COMMENT ON COLUMN commerce.transacciones.variante_strategy IS 'Estrategia de resolucion de variante aplicada: EXACT_MATCH, DEFAULT_MATCH o BASE_FALLBACK.';

COMMENT ON COLUMN commerce.transacciones.variante_audit_id IS 'ID del registro de auditoria de resolucion de variante en catalog.inventario_variantes_resolucion_log.';
