-- Backfill de aplicaciones desde pagos directos a factura
-- Ejecuta esto una vez para migrar pagos existentes a la nueva tabla aplicaciones

INSERT INTO aplicaciones (cliente_id, proveedor_id, factura_id, origen_tipo, origen_id, monto_aplicado, fecha_aplicacion, comentario, esta_activo)
SELECT NULL AS cliente_id,
       f.proveedor_id,
       p.factura_id,
       'pago' AS origen_tipo,
       p.id AS origen_id,
       p.monto AS monto_aplicado,
       p.fecha_pago AS fecha_aplicacion,
       p.referencia AS comentario,
       p.esta_activo
FROM pagos p
JOIN facturas f ON f.id = p.factura_id
LEFT JOIN aplicaciones a
  ON a.origen_tipo = 'pago' AND a.origen_id = p.id AND a.factura_id = p.factura_id
WHERE p.esta_activo = 1 AND a.id IS NULL;

