24 lines
737 B
SQL
24 lines
737 B
SQL
-- AlterTable
|
|
ALTER TABLE "wallet_transactions" ADD COLUMN IF NOT EXISTS "business_key" VARCHAR(128);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX IF NOT EXISTS "wallet_transactions_business_key_key" ON "wallet_transactions"("business_key");
|
|
|
|
-- Deduplicate legacy settlement preview items before enforcing idempotency.
|
|
WITH ranked_settlement_items AS (
|
|
SELECT
|
|
"id",
|
|
ROW_NUMBER() OVER (
|
|
PARTITION BY "batch_id", "bet_id"
|
|
ORDER BY "id"
|
|
) AS row_num
|
|
FROM "settlement_items"
|
|
)
|
|
DELETE FROM "settlement_items" si
|
|
USING ranked_settlement_items r
|
|
WHERE si."id" = r."id"
|
|
AND r.row_num > 1;
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX IF NOT EXISTS "settlement_items_batch_id_bet_id_key" ON "settlement_items"("batch_id", "bet_id");
|