Files
kita-planer/prisma/migrations/20261009020000_read_tenant_constraints/migration.sql
T

21 lines
990 B
PL/PgSQL

BEGIN;
-- AlterTable
ALTER TABLE "announcement_reads" ADD COLUMN "kitaId" TEXT;
UPDATE announcement_reads AS r SET "kitaId" = a."kitaId" FROM announcements AS a WHERE a.id = r."announcementId";
ALTER TABLE announcement_reads ALTER COLUMN "kitaId" SET NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX "announcements_id_kitaId_key" ON "announcements"("id", "kitaId");
-- CreateIndex
CREATE INDEX "announcement_reads_kitaId_idx" ON "announcement_reads"("kitaId");
ALTER TABLE users ADD CONSTRAINT users_family_requires_tenant CHECK ("familyId" IS NULL OR "kitaId" IS NOT NULL);
ALTER TABLE announcement_reads ADD CONSTRAINT announcement_reads_user_tenant_fkey
FOREIGN KEY ("userId", "kitaId") REFERENCES users(id, "kitaId") ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE announcement_reads ADD CONSTRAINT announcement_reads_announcement_tenant_fkey
FOREIGN KEY ("announcementId", "kitaId") REFERENCES announcements(id, "kitaId") ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;