From 588b00de45dfca9b77bcc4b7bdd699ecb320ffc9 Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Thu, 29 Aug 2024 10:21:25 +0900 Subject: [PATCH] Fix potential crash in migration --- BTCPayServer.Data/DBScripts/002.RefactorPayouts.sql | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/BTCPayServer.Data/DBScripts/002.RefactorPayouts.sql b/BTCPayServer.Data/DBScripts/002.RefactorPayouts.sql index 285ab8645..59c8ea384 100644 --- a/BTCPayServer.Data/DBScripts/002.RefactorPayouts.sql +++ b/BTCPayServer.Data/DBScripts/002.RefactorPayouts.sql @@ -46,11 +46,16 @@ ALTER TABLE "Payouts" ALTER COLUMN "OriginalAmount" SET NOT NULL; ALTER TABLE "Payouts" ADD COLUMN "OriginalCurrency" TEXT; +UPDATE "Payouts" p +SET + "OriginalCurrency" = "Currency", + "Blob" = "Blob" - 'Amount' - 'CryptoAmount' +WHERE "PullPaymentDataId" IS NULL AND "OriginalCurrency" IS NULL; + UPDATE "Payouts" p SET - "OriginalCurrency" = CASE WHEN p."PullPaymentDataId" IS NULL THEN p."Currency" ELSE pp."Currency" END, - "Blob" = p."Blob" - 'Amount' - 'CryptoAmount' + "OriginalCurrency" = pp."Currency" FROM "PullPayments" pp -WHERE pp."Id" = p."PullPaymentDataId" OR p."PullPaymentDataId" IS NULL; +WHERE "OriginalCurrency" IS NULL AND pp."Id"=p."PullPaymentDataId"; ALTER TABLE "Payouts" ALTER COLUMN "OriginalCurrency" SET NOT NULL;