fix: enforce drainage uniqueness and carrier-specific reporting
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
-- Preserve all legacy rows; independent carrier states require distinct business keys.
|
||||
BEGIN;
|
||||
CREATE UNIQUE INDEX "ChannelSignatureReportTask_drainage_carrier_key"
|
||||
ON "ChannelSignatureReportTask" ("signatureId", "drainageItemId", "channelId", "carrier")
|
||||
WHERE "reportType" = 'drainage' AND "drainageItemId" IS NOT NULL AND "carrier" IS NOT NULL;
|
||||
CREATE UNIQUE INDEX "ChannelSignatureReportTask_drainage_legacy_key"
|
||||
ON "ChannelSignatureReportTask" ("signatureId", "drainageItemId", "channelId")
|
||||
WHERE "reportType" = 'drainage' AND "drainageItemId" IS NOT NULL AND "carrier" IS NULL;
|
||||
DROP INDEX "ChannelSignatureReportTask_drainage_target_key";
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user