mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 11:01:45 +00:00
feat: endurece mutações financeiras e permite zerar conta
This commit is contained in:
32
drizzle/0020_add-budget-invoice-unique-constraints.sql
Normal file
32
drizzle/0020_add-budget-invoice-unique-constraints.sql
Normal 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");
|
||||
Reference in New Issue
Block a user