fix: persist sms carrier and province
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
ALTER TABLE "SmsMessageRecord"
|
||||
ADD COLUMN "carrier" TEXT,
|
||||
ADD COLUMN "province" TEXT;
|
||||
|
||||
UPDATE "SmsMessageRecord" AS message
|
||||
SET "province" = segment."province"
|
||||
FROM "PhoneSegment" AS segment
|
||||
WHERE segment."prefix" = left(message."phoneNumber", 7);
|
||||
|
||||
UPDATE "SmsMessageRecord" AS message
|
||||
SET "carrier" = COALESCE((
|
||||
SELECT rule."carrier"
|
||||
FROM "PhoneCarrierRule" AS rule
|
||||
WHERE rule."status" = 'active'
|
||||
AND message."phoneNumber" ~ rule."pattern"
|
||||
ORDER BY rule."priority" ASC, rule."createdAt" ASC
|
||||
LIMIT 1
|
||||
), 'mobile');
|
||||
|
||||
CREATE INDEX "SmsMessageRecord_carrier_province_idx"
|
||||
ON "SmsMessageRecord"("carrier", "province");
|
||||
@@ -901,6 +901,8 @@ model SmsMessageRecord {
|
||||
templateId String?
|
||||
messageId String @unique
|
||||
phoneNumber String
|
||||
carrier String?
|
||||
province String?
|
||||
content String
|
||||
billingUnits Int @default(1)
|
||||
unitPrice Int @default(0)
|
||||
|
||||
Reference in New Issue
Block a user