feat: endurece mutações financeiras e permite zerar conta

This commit is contained in:
Felipe Coutinho
2026-03-20 18:42:18 +00:00
parent f77c64325d
commit e4dd221709
23 changed files with 5490 additions and 2942 deletions

View File

@@ -0,0 +1,32 @@
DO $$
BEGIN
IF EXISTS (
SELECT 1
FROM "orcamentos"
WHERE "categoria_id" IS NOT NULL
AND "periodo" IS NOT NULL
GROUP BY "user_id", "categoria_id", "periodo"
HAVING COUNT(*) > 1
) THEN
RAISE EXCEPTION
'Nao foi possivel criar a unique de orcamentos: existem duplicatas por user_id, categoria_id e periodo.';
END IF;
END $$;--> statement-breakpoint
DO $$
BEGIN
IF EXISTS (
SELECT 1
FROM "faturas"
WHERE "cartao_id" IS NOT NULL
AND "periodo" IS NOT NULL
GROUP BY "user_id", "cartao_id", "periodo"
HAVING COUNT(*) > 1
) THEN
RAISE EXCEPTION
'Nao foi possivel criar a unique de faturas: existem duplicatas por user_id, cartao_id e periodo.';
END IF;
END $$;--> statement-breakpoint
CREATE UNIQUE INDEX "orcamentos_user_id_categoria_id_periodo_key" ON "orcamentos" USING btree ("user_id","categoria_id","periodo");--> statement-breakpoint
CREATE UNIQUE INDEX "faturas_user_id_cartao_id_periodo_key" ON "faturas" USING btree ("user_id","cartao_id","periodo");