/* * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ export class AddChannelMuting1718015380000 { name = 'AddChannelMuting1718015380000' async up(queryRunner) { await queryRunner.query(` CREATE TABLE "channel_muting" ( "id" varchar(32) NOT NULL, "userId" varchar(32) NOT NULL, "channelId" varchar(32) NOT NULL, "expiresAt" timestamp with time zone, CONSTRAINT "PK_channel_muting_id" PRIMARY KEY ("id"), CONSTRAINT "FK_channel_muting_userId" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_channel_muting_channelId" FOREIGN KEY ("channelId") REFERENCES "channel"("id") ON DELETE CASCADE ON UPDATE NO ACTION ); CREATE INDEX "IDX_channel_muting_userId" ON "channel_muting" ("userId"); CREATE INDEX "IDX_channel_muting_channelId" ON "channel_muting" ("channelId"); ALTER TABLE note ADD "renoteChannelId" varchar(32); COMMENT ON COLUMN note."renoteChannelId" is '[Denormalized]'; `); } async down(queryRunner) { await queryRunner.query(` ALTER TABLE note DROP COLUMN "renoteChannelId"; ALTER TABLE "channel_muting" DROP CONSTRAINT "FK_channel_muting_userId"; ALTER TABLE "channel_muting" DROP CONSTRAINT "FK_channel_muting_channelId"; DROP INDEX "IDX_channel_muting_userId"; DROP INDEX "IDX_channel_muting_channelId"; DROP TABLE "channel_muting"; `); } }