-- Relación entre declaraciones provisionales y obligaciones fiscales.
-- Permite saber exactamente qué obligaciones cierra una declaración
-- y aplicar el comprobante de pago a las mismas obligaciones.
CREATE TABLE IF NOT EXISTS declaracion_obligaciones (
  declaracion_id INT NOT NULL REFERENCES declaraciones_provisionales(id) ON DELETE CASCADE,
  obligacion_id UUID NOT NULL REFERENCES obligaciones_contribuyente(id) ON DELETE CASCADE,
  created_at TIMESTAMPTZ DEFAULT NOW(),
  PRIMARY KEY (declaracion_id, obligacion_id)
);

CREATE INDEX IF NOT EXISTS idx_declaracion_obligaciones_obligacion
  ON declaracion_obligaciones (obligacion_id);
