-- ICYLAB OS - Customer payment terms and decimal quote quantities
-- Ejecutar una vez sobre la base vigente antes de subir los archivos.

ALTER TABLE `crm_customers`
  ADD COLUMN IF NOT EXISTS `payment_terms` varchar(50) NOT NULL DEFAULT 'contado' AFTER `facto_payment_term`;

UPDATE `crm_customers`
SET `payment_terms` = CASE
    WHEN `payment_terms` IS NULL OR `payment_terms` = '' THEN
        CASE
            WHEN `facto_payment_term` = '15' THEN 'credito_15'
            WHEN `facto_payment_term` = '30' THEN 'credito_30'
            WHEN `facto_payment_term` = '45' THEN 'credito_45'
            WHEN `facto_payment_term` = '0' THEN 'contado'
            ELSE 'contado'
        END
    ELSE `payment_terms`
END;

ALTER TABLE `crm_quote_items`
  MODIFY `quantity` decimal(12,3) NOT NULL DEFAULT 1.000;
