Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-04-26 08:52:31 +00:00
co-authored by renee-png
parent 936e9b17f4
commit 99d32cda60
@@ -0,0 +1,29 @@
-- Backfill case_id on payment_plans created via collections so they show up
-- on the case Payment Plans tab.
UPDATE public.payment_plans pp
SET case_id = c.case_id
FROM public.collections c
WHERE pp.collection_id = c.id
AND pp.case_id IS NULL
AND c.case_id IS NOT NULL;
-- Trigger to auto-populate case_id on insert/update when collection_id is set
-- but case_id is missing.
CREATE OR REPLACE FUNCTION public.payment_plans_fill_case_id()
RETURNS TRIGGER
LANGUAGE plpgsql
SECURITY DEFINER
SET search_path = public
AS $$
BEGIN
IF NEW.case_id IS NULL AND NEW.collection_id IS NOT NULL THEN
SELECT case_id INTO NEW.case_id FROM public.collections WHERE id = NEW.collection_id;
END IF;
RETURN NEW;
END;
$$;
DROP TRIGGER IF EXISTS payment_plans_fill_case_id_trg ON public.payment_plans;
CREATE TRIGGER payment_plans_fill_case_id_trg
BEFORE INSERT OR UPDATE ON public.payment_plans
FOR EACH ROW EXECUTE FUNCTION public.payment_plans_fill_case_id();