Files
ystp/migrations/019_invoice_webhook_invariants.sql
237899745 037e83e92f
Some checks failed
CI / verify (push) Has been cancelled
fix: make Stripe invoice webhooks monotonic
2026-07-26 04:53:21 +08:00

17 lines
474 B
SQL

DO $$
BEGIN
IF EXISTS (
SELECT 1
FROM invoices
WHERE provider_invoice_id IS NOT NULL
GROUP BY provider, provider_invoice_id
HAVING COUNT(*) > 1
) THEN
RAISE EXCEPTION 'duplicate invoices(provider, provider_invoice_id) values require reconciliation before migration 019';
END IF;
END $$;
CREATE UNIQUE INDEX IF NOT EXISTS idx_invoices_provider_object_unique
ON invoices(provider, provider_invoice_id)
WHERE provider_invoice_id IS NOT NULL;