12 lines
612 B
SQL
12 lines
612 B
SQL
-- 待付款订单统一在服务端以创建后 30 分钟为截止时间,避免只由客户端倒计时控制。
|
|
ALTER TYPE "OrderStatus" ADD VALUE IF NOT EXISTS 'PAYMENT_EXPIRED';
|
|
|
|
ALTER TABLE "Order" ADD COLUMN IF NOT EXISTS "paymentExpiresAt" TIMESTAMP(3);
|
|
|
|
-- 为已有待付款订单补齐截止时间;历史订单会按创建时间计算并在下一次读取时自动过期。
|
|
UPDATE "Order"
|
|
SET "paymentExpiresAt" = "createdAt" + INTERVAL '30 minutes'
|
|
WHERE "paymentExpiresAt" IS NULL AND "status" = 'PENDING';
|
|
|
|
CREATE INDEX IF NOT EXISTS "Order_paymentExpiresAt_idx" ON "Order"("paymentExpiresAt");
|