fix: implement channel group routing failover
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
-- Channel-group routing rules for first-version send-chain failover.
|
||||
ALTER TABLE "SmsChannel" ADD COLUMN "sendRegion" TEXT NOT NULL DEFAULT '全国';
|
||||
|
||||
ALTER TABLE "SmsChannelGroup" ADD COLUMN "retryEnabled" BOOLEAN NOT NULL DEFAULT true;
|
||||
ALTER TABLE "SmsChannelGroup" ADD COLUMN "retryTimeLimitHours" INTEGER NOT NULL DEFAULT 72;
|
||||
|
||||
CREATE TABLE "PhoneCarrierRule" (
|
||||
"id" TEXT NOT NULL,
|
||||
"carrier" TEXT NOT NULL,
|
||||
"pattern" TEXT NOT NULL,
|
||||
"priority" INTEGER NOT NULL DEFAULT 100,
|
||||
"status" TEXT NOT NULL DEFAULT 'active',
|
||||
"remark" TEXT,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "PhoneCarrierRule_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE INDEX "PhoneCarrierRule_status_priority_idx" ON "PhoneCarrierRule"("status", "priority");
|
||||
@@ -173,6 +173,19 @@ model PhoneSegment {
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model PhoneCarrierRule {
|
||||
id String @id @default(cuid())
|
||||
carrier String
|
||||
pattern String
|
||||
priority Int @default(100)
|
||||
status String @default("active")
|
||||
remark String?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([status, priority])
|
||||
}
|
||||
|
||||
model SensitiveWord {
|
||||
id String @id @default(cuid())
|
||||
word String @unique
|
||||
@@ -453,6 +466,7 @@ model SmsChannel {
|
||||
code String @unique
|
||||
name String
|
||||
carrier String?
|
||||
sendRegion String @default("全国")
|
||||
protocol String @default("CMPP")
|
||||
gatewayHost String
|
||||
gatewayPort Int
|
||||
@@ -514,6 +528,8 @@ model SmsChannelGroup {
|
||||
name String
|
||||
description String?
|
||||
status String @default("active")
|
||||
retryEnabled Boolean @default(true)
|
||||
retryTimeLimitHours Int @default(72)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
|
||||
Reference in New Issue
Block a user