update payment method, remove stripe, paypal, amanapay
Build & Push / Pipeline Tests (push) Failing after 59s
Build & Push / Build & Push Docker Image (push) Has been skipped
Test / Type Check (all packages) (push) Failing after 48s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Carplace Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped
Build & Push / Pipeline Tests (push) Failing after 59s
Build & Push / Build & Push Docker Image (push) Has been skipped
Test / Type Check (all packages) (push) Failing after 48s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Carplace Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped
This commit is contained in:
+129
@@ -0,0 +1,129 @@
|
||||
-- Remap leftover Stripe rows before the enum values are dropped.
|
||||
-- Compare as text so this stays valid if STRIPE is already absent from the enum.
|
||||
UPDATE "billing_invoices"
|
||||
SET "collectionMethod" = 'BANK_TRANSFER'
|
||||
WHERE "collectionMethod"::text = 'STRIPE';
|
||||
|
||||
UPDATE "billing_invoices"
|
||||
SET "paymentProvider" = 'MANUAL'
|
||||
WHERE "paymentProvider"::text = 'STRIPE';
|
||||
|
||||
UPDATE "subscription_invoices"
|
||||
SET "paymentProvider" = 'MANUAL'
|
||||
WHERE "paymentProvider"::text = 'STRIPE';
|
||||
|
||||
UPDATE "rental_payments"
|
||||
SET "paymentProvider" = 'MANUAL'
|
||||
WHERE "paymentProvider"::text = 'STRIPE';
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'public'
|
||||
AND table_name = 'brand_settings'
|
||||
AND column_name = 'paymentMethodsEnabled'
|
||||
) THEN
|
||||
UPDATE "brand_settings"
|
||||
SET "paymentMethodsEnabled" = ARRAY(
|
||||
SELECT x
|
||||
FROM unnest("paymentMethodsEnabled") AS x
|
||||
WHERE x::text <> 'STRIPE'
|
||||
)
|
||||
WHERE EXISTS (
|
||||
SELECT 1
|
||||
FROM unnest("paymentMethodsEnabled") AS x
|
||||
WHERE x::text = 'STRIPE'
|
||||
);
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
DROP INDEX IF EXISTS "subscription_invoices_stripeCheckoutSessionId_key";
|
||||
ALTER TABLE "subscription_invoices" DROP COLUMN IF EXISTS "stripeCheckoutSessionId";
|
||||
|
||||
DROP INDEX IF EXISTS "rental_payments_stripeCheckoutSessionId_key";
|
||||
DROP INDEX IF EXISTS "rental_payments_stripePaymentIntentId_key";
|
||||
ALTER TABLE "rental_payments" DROP COLUMN IF EXISTS "stripeCheckoutSessionId";
|
||||
ALTER TABLE "rental_payments" DROP COLUMN IF EXISTS "stripePaymentIntentId";
|
||||
|
||||
-- Recreate SubscriptionCollectionMethod without STRIPE (DROP VALUE is not allowed in a Prisma transaction).
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM pg_type t
|
||||
JOIN pg_enum e ON e.enumtypid = t.oid
|
||||
WHERE t.typname = 'SubscriptionCollectionMethod'
|
||||
AND e.enumlabel = 'STRIPE'
|
||||
) THEN
|
||||
DROP TYPE IF EXISTS "SubscriptionCollectionMethod_new";
|
||||
CREATE TYPE "SubscriptionCollectionMethod_new" AS ENUM ('BANK_TRANSFER', 'CHECK');
|
||||
|
||||
ALTER TABLE "billing_invoices" ALTER COLUMN "collectionMethod" DROP DEFAULT;
|
||||
ALTER TABLE "billing_invoices"
|
||||
ALTER COLUMN "collectionMethod" TYPE "SubscriptionCollectionMethod_new"
|
||||
USING ("collectionMethod"::text::"SubscriptionCollectionMethod_new");
|
||||
|
||||
DROP TYPE "SubscriptionCollectionMethod";
|
||||
ALTER TYPE "SubscriptionCollectionMethod_new" RENAME TO "SubscriptionCollectionMethod";
|
||||
ALTER TABLE "billing_invoices" ALTER COLUMN "collectionMethod" SET DEFAULT 'BANK_TRANSFER';
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- Recreate PaymentProvider without STRIPE.
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM pg_type t
|
||||
JOIN pg_enum e ON e.enumtypid = t.oid
|
||||
WHERE t.typname = 'PaymentProvider'
|
||||
AND e.enumlabel = 'STRIPE'
|
||||
) THEN
|
||||
DROP TYPE IF EXISTS "PaymentProvider_new";
|
||||
CREATE TYPE "PaymentProvider_new" AS ENUM ('AMANPAY', 'PAYPAL', 'MANUAL');
|
||||
|
||||
ALTER TABLE "billing_invoices" ALTER COLUMN "paymentProvider" DROP DEFAULT;
|
||||
ALTER TABLE "subscription_invoices" ALTER COLUMN "paymentProvider" DROP DEFAULT;
|
||||
ALTER TABLE "rental_payments" ALTER COLUMN "paymentProvider" DROP DEFAULT;
|
||||
|
||||
ALTER TABLE "billing_invoices"
|
||||
ALTER COLUMN "paymentProvider" TYPE "PaymentProvider_new"
|
||||
USING ("paymentProvider"::text::"PaymentProvider_new");
|
||||
|
||||
ALTER TABLE "subscription_invoices"
|
||||
ALTER COLUMN "paymentProvider" TYPE "PaymentProvider_new"
|
||||
USING ("paymentProvider"::text::"PaymentProvider_new");
|
||||
|
||||
ALTER TABLE "rental_payments"
|
||||
ALTER COLUMN "paymentProvider" TYPE "PaymentProvider_new"
|
||||
USING ("paymentProvider"::text::"PaymentProvider_new");
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'public'
|
||||
AND table_name = 'brand_settings'
|
||||
AND column_name = 'paymentMethodsEnabled'
|
||||
) THEN
|
||||
ALTER TABLE "brand_settings"
|
||||
ALTER COLUMN "paymentMethodsEnabled" TYPE "PaymentProvider_new"[]
|
||||
USING (
|
||||
COALESCE(
|
||||
ARRAY(
|
||||
SELECT x::text::"PaymentProvider_new"
|
||||
FROM unnest("paymentMethodsEnabled") AS x
|
||||
WHERE x::text <> 'STRIPE'
|
||||
),
|
||||
ARRAY[]::"PaymentProvider_new"[]
|
||||
)
|
||||
);
|
||||
END IF;
|
||||
|
||||
DROP TYPE "PaymentProvider";
|
||||
ALTER TYPE "PaymentProvider_new" RENAME TO "PaymentProvider";
|
||||
|
||||
ALTER TABLE "subscription_invoices" ALTER COLUMN "paymentProvider" SET DEFAULT 'AMANPAY';
|
||||
END IF;
|
||||
END $$;
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
-- Remap online gateway rows to manual before dropping provider values.
|
||||
UPDATE "billing_invoices"
|
||||
SET "paymentProvider" = 'MANUAL'
|
||||
WHERE "paymentProvider"::text IN ('AMANPAY', 'PAYPAL', 'STRIPE');
|
||||
|
||||
UPDATE "subscription_invoices"
|
||||
SET "paymentProvider" = 'MANUAL'
|
||||
WHERE "paymentProvider"::text IN ('AMANPAY', 'PAYPAL', 'STRIPE');
|
||||
|
||||
UPDATE "rental_payments"
|
||||
SET "paymentProvider" = 'MANUAL'
|
||||
WHERE "paymentProvider"::text IN ('AMANPAY', 'PAYPAL', 'STRIPE');
|
||||
|
||||
DROP INDEX IF EXISTS "subscription_invoices_amanpayTransactionId_key";
|
||||
DROP INDEX IF EXISTS "subscription_invoices_paypalCaptureId_key";
|
||||
ALTER TABLE "subscription_invoices" DROP COLUMN IF EXISTS "amanpayTransactionId";
|
||||
ALTER TABLE "subscription_invoices" DROP COLUMN IF EXISTS "paypalCaptureId";
|
||||
|
||||
DROP INDEX IF EXISTS "rental_payments_amanpayTransactionId_key";
|
||||
DROP INDEX IF EXISTS "rental_payments_paypalCaptureId_key";
|
||||
ALTER TABLE "rental_payments" DROP COLUMN IF EXISTS "amanpayTransactionId";
|
||||
ALTER TABLE "rental_payments" DROP COLUMN IF EXISTS "paypalCaptureId";
|
||||
|
||||
ALTER TABLE "brand_settings" DROP COLUMN IF EXISTS "amanpayMerchantId";
|
||||
ALTER TABLE "brand_settings" DROP COLUMN IF EXISTS "amanpaySecretKey";
|
||||
ALTER TABLE "brand_settings" DROP COLUMN IF EXISTS "paypalEmail";
|
||||
ALTER TABLE "brand_settings" DROP COLUMN IF EXISTS "paypalMerchantId";
|
||||
ALTER TABLE "brand_settings" DROP COLUMN IF EXISTS "paymentMethodsEnabled";
|
||||
|
||||
ALTER TABLE "subscription_invoices" ALTER COLUMN "paymentProvider" DROP DEFAULT;
|
||||
ALTER TABLE "subscription_invoices" ALTER COLUMN "paymentProvider" SET DEFAULT 'MANUAL';
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM pg_type t
|
||||
JOIN pg_enum e ON e.enumtypid = t.oid
|
||||
WHERE t.typname = 'PaymentProvider'
|
||||
AND e.enumlabel IN ('AMANPAY', 'PAYPAL', 'STRIPE')
|
||||
) THEN
|
||||
DROP TYPE IF EXISTS "PaymentProvider_new";
|
||||
CREATE TYPE "PaymentProvider_new" AS ENUM ('MANUAL');
|
||||
|
||||
ALTER TABLE "billing_invoices" ALTER COLUMN "paymentProvider" DROP DEFAULT;
|
||||
ALTER TABLE "subscription_invoices" ALTER COLUMN "paymentProvider" DROP DEFAULT;
|
||||
ALTER TABLE "rental_payments" ALTER COLUMN "paymentProvider" DROP DEFAULT;
|
||||
|
||||
ALTER TABLE "billing_invoices"
|
||||
ALTER COLUMN "paymentProvider" TYPE "PaymentProvider_new"
|
||||
USING ("paymentProvider"::text::"PaymentProvider_new");
|
||||
|
||||
ALTER TABLE "subscription_invoices"
|
||||
ALTER COLUMN "paymentProvider" TYPE "PaymentProvider_new"
|
||||
USING ("paymentProvider"::text::"PaymentProvider_new");
|
||||
|
||||
ALTER TABLE "rental_payments"
|
||||
ALTER COLUMN "paymentProvider" TYPE "PaymentProvider_new"
|
||||
USING ("paymentProvider"::text::"PaymentProvider_new");
|
||||
|
||||
DROP TYPE "PaymentProvider";
|
||||
ALTER TYPE "PaymentProvider_new" RENAME TO "PaymentProvider";
|
||||
|
||||
ALTER TABLE "subscription_invoices" ALTER COLUMN "paymentProvider" SET DEFAULT 'MANUAL';
|
||||
END IF;
|
||||
END $$;
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
-- Keep only bank transfer and check as stored billing payment method types.
|
||||
UPDATE "billing_payment_methods"
|
||||
SET "type" = 'BANK_TRANSFER'
|
||||
WHERE "type"::text IN ('CARD', 'ACH_DEBIT', 'WIRE_TRANSFER', 'MANUAL_INVOICE', 'PURCHASE_ORDER');
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM pg_type t
|
||||
JOIN pg_enum e ON e.enumtypid = t.oid
|
||||
WHERE t.typname = 'BillingPaymentMethodType'
|
||||
AND e.enumlabel IN ('CARD', 'ACH_DEBIT', 'WIRE_TRANSFER', 'MANUAL_INVOICE', 'PURCHASE_ORDER')
|
||||
) THEN
|
||||
DROP TYPE IF EXISTS "BillingPaymentMethodType_new";
|
||||
CREATE TYPE "BillingPaymentMethodType_new" AS ENUM ('BANK_TRANSFER', 'CHECK');
|
||||
|
||||
ALTER TABLE "billing_payment_methods"
|
||||
ALTER COLUMN "type" TYPE "BillingPaymentMethodType_new"
|
||||
USING ("type"::text::"BillingPaymentMethodType_new");
|
||||
|
||||
DROP TYPE "BillingPaymentMethodType";
|
||||
ALTER TYPE "BillingPaymentMethodType_new" RENAME TO "BillingPaymentMethodType";
|
||||
END IF;
|
||||
END $$;
|
||||
Reference in New Issue
Block a user