-- ============================================================
--  Rollback de 2026-10-14_04_items_oferta.sql
--  Las líneas se quedan en su oferta; se pierden los títulos de los
--  ítems. El paquete del primer ítem vuelve a la oferta.
-- ============================================================
USE tinsa_db;

ALTER TABLE `cotizacion_venta_oferta`
  ADD COLUMN `id_paquete` int(10) unsigned DEFAULT NULL AFTER `nota`,
  ADD COLUMN `paquete_parametros` text DEFAULT NULL AFTER `id_paquete`,
  ADD KEY `fk_cvo_paquete` (`id_paquete`),
  ADD CONSTRAINT `fk_cvo_paquete` FOREIGN KEY (`id_paquete`) REFERENCES `paquete` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

UPDATE cotizacion_venta_oferta o
  JOIN cotizacion_venta_oferta_item i ON i.id = (SELECT MIN(i2.id) FROM cotizacion_venta_oferta_item i2 WHERE i2.id_oferta = o.id AND i2.id_paquete IS NOT NULL)
   SET o.id_paquete = i.id_paquete, o.paquete_parametros = i.paquete_parametros;

ALTER TABLE `cotizacion_venta_material`
  DROP FOREIGN KEY `fk_cvm_item`,
  DROP KEY `idx_cvm_item`,
  DROP COLUMN `id_item`;

DROP TABLE IF EXISTS `cotizacion_venta_oferta_item`;
