ekzyis d7ddfffbf0
Delete duplicate wallets (#2163)
* Delete duplicate wallets

* Add unique Wallet index to prevent duplicate user wallets
2025-05-14 19:49:04 -05:00

17 lines
441 B
SQL

-- delete duplicate wallets per user
WITH duplicates AS (
SELECT
"userId",
"type",
(array_agg(id ORDER BY updated_at DESC))[2:] AS id
FROM "Wallet"
GROUP BY "userId", "type"
HAVING COUNT(id) > 1
ORDER BY COUNT(id) DESC, "userId" ASC
)
DELETE FROM "Wallet"
WHERE id in (SELECT unnest(id) FROM duplicates);
-- CreateIndex
CREATE UNIQUE INDEX "Wallet_userId_type_key" ON "Wallet"("userId", "type");