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;