-- SQL Script para limpiar el catálogo de presupuesto anterior a la migración
-- Ejecutar en la base de datos (PostgreSQL)

BEGIN;

-- 1. Eliminar ejecuciones presupuestarias registradas anteriormente
DELETE FROM budget.executions;

-- 2. Eliminar detalles de modificaciones y resoluciones cargadas anteriormente
DELETE FROM budget.modification_entries;
DELETE FROM budget.modifications;

-- 3. Eliminar formulaciones anteriores (PIA / PIM)
DELETE FROM budget.formulations;

-- 4. Eliminar clasificadores presupuestarios anteriores
-- Nota: Las referencias en compras y gastos (purchases_bill_lines y purchases_expense_lines) 
-- tienen 'ON DELETE SET NULL', por lo que estas columnas pasarán a NULL de forma segura.
DELETE FROM budget.classifiers;

-- Opcional: Si deseas limpiar también las unidades organizativas/centros de costo
-- DELETE FROM budget.organizational_units;

COMMIT;
