Files
acmcc/supabase/migrations/20260402030851_b0905ac6-c596-4869-b73b-d19278c6e7d0.sql
T
2026-06-01 20:19:26 -04:00

36 lines
1.1 KiB
SQL

ALTER TABLE public.invoices
ADD COLUMN IF NOT EXISTS line_items jsonb NOT NULL DEFAULT '[]'::jsonb,
ADD COLUMN IF NOT EXISTS raw_pdf_url text;
ALTER TABLE public.bills
ADD COLUMN IF NOT EXISTS source_invoice_id uuid;
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM pg_constraint
WHERE conname = 'bills_source_invoice_id_fkey'
AND conrelid = 'public.bills'::regclass
) THEN
ALTER TABLE public.bills
ADD CONSTRAINT bills_source_invoice_id_fkey
FOREIGN KEY (source_invoice_id)
REFERENCES public.invoices(id)
ON DELETE SET NULL;
END IF;
END $$;
UPDATE public.bills b
SET source_invoice_id = linked.invoice_id
FROM (
SELECT DISTINCT ON (bill_id) bill_id, invoice_id
FROM public.bill_approvals
WHERE bill_id IS NOT NULL AND invoice_id IS NOT NULL
ORDER BY bill_id, created_at ASC
) AS linked
WHERE b.id = linked.bill_id
AND b.source_invoice_id IS NULL;
CREATE INDEX IF NOT EXISTS idx_bills_source_invoice_id ON public.bills(source_invoice_id);
CREATE UNIQUE INDEX IF NOT EXISTS idx_bills_source_invoice_id_unique ON public.bills(source_invoice_id) WHERE source_invoice_id IS NOT NULL;