iceshrimp/packages/backend/src/migration/1600353287890-mutingNotificationTypes.ts

35 lines
1.5 KiB
TypeScript

import { MigrationInterface, QueryRunner } from "typeorm";
export class mutingNotificationTypes1600353287890 implements MigrationInterface {
constructor() {
this.name = "mutingNotificationTypes1600353287890";
}
async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "user_profile" DROP COLUMN "includingNotificationTypes"`,
);
await queryRunner.query(
`DROP TYPE "public"."user_profile_includingnotificationtypes_enum"`,
);
await queryRunner.query(
`CREATE TYPE "user_profile_mutingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`,
);
await queryRunner.query(
`ALTER TABLE "user_profile" ADD "mutingNotificationTypes" "user_profile_mutingnotificationtypes_enum" array NOT NULL DEFAULT '{}'`,
);
}
async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "user_profile" DROP COLUMN "mutingNotificationTypes"`,
);
await queryRunner.query(
`DROP TYPE "user_profile_mutingnotificationtypes_enum"`,
);
await queryRunner.query(
`CREATE TYPE "public"."user_profile_includingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`,
);
await queryRunner.query(
`ALTER TABLE "user_profile" ADD "includingNotificationTypes" "user_profile_includingnotificationtypes_enum" array`,
);
}
}