chenpei 7326e273e1 fix: harden media upload and release safety
Protect upload cleanup and atomic completion paths, add durable media worker leases and brand asset validation, and introduce verified migration/bootstrap/deployment gates.
2026-08-12 18:04:08 +08:00

25 lines
521 B
PL/PgSQL

BEGIN;
DO $$
BEGIN
IF EXISTS (
SELECT 1
FROM "materials"
WHERE "uploadId" IS NOT NULL
AND "deletedAt" IS NULL
GROUP BY "uploadId"
HAVING COUNT(*) > 1
) THEN
RAISE EXCEPTION 'active materials contain duplicate uploadId values; refusing to rebuild materials_uploadId_key';
END IF;
END
$$;
DROP INDEX IF EXISTS "materials_uploadId_key";
CREATE UNIQUE INDEX "materials_uploadId_key"
ON "materials" USING btree ("uploadId")
WHERE "uploadId" IS NOT NULL AND "deletedAt" IS NULL;
COMMIT;