21 lines
990 B
PL/PgSQL
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;
|