feat: inherit channel report requirements

This commit is contained in:
hectorzhao
2026-07-12 16:14:54 +08:00
parent 053bcca990
commit 87ae4a2063
14 changed files with 612 additions and 65 deletions
@@ -0,0 +1,33 @@
ALTER TABLE "ChannelReportField"
ADD COLUMN "drainageFieldId" TEXT,
ADD COLUMN "reportType" TEXT NOT NULL DEFAULT 'both';
CREATE INDEX "ChannelReportField_drainageFieldId_reportType_idx"
ON "ChannelReportField"("drainageFieldId", "reportType");
ALTER TABLE "ChannelReportField"
ADD CONSTRAINT "ChannelReportField_drainageFieldId_fkey"
FOREIGN KEY ("drainageFieldId") REFERENCES "DrainageField"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE TABLE "DrainageReportMaterial" (
"id" TEXT NOT NULL,
"signatureId" TEXT NOT NULL,
"drainageItemId" TEXT NOT NULL,
"channelId" TEXT NOT NULL,
"fieldCode" TEXT NOT NULL,
"fieldValue" TEXT,
"fileObjectId" TEXT,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "DrainageReportMaterial_pkey" PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "DrainageReportMaterial_signatureId_drainageItemId_channelId_fieldCode_key"
ON "DrainageReportMaterial"("signatureId", "drainageItemId", "channelId", "fieldCode");
CREATE INDEX "DrainageReportMaterial_channelId_fieldCode_idx"
ON "DrainageReportMaterial"("channelId", "fieldCode");
ALTER TABLE "DrainageReportMaterial" ADD CONSTRAINT "DrainageReportMaterial_signatureId_fkey"
FOREIGN KEY ("signatureId") REFERENCES "SmsSignature"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "DrainageReportMaterial" ADD CONSTRAINT "DrainageReportMaterial_channelId_fkey"
FOREIGN KEY ("channelId") REFERENCES "SmsChannel"("id") ON DELETE CASCADE ON UPDATE CASCADE;