iceshrimp/packages/backend/src/migration/1676093997212-AntennaInstances.ts
2023-10-13 18:44:25 +02:00

28 lines
1.1 KiB
TypeScript

import { MigrationInterface, QueryRunner } from "typeorm";
export class AntennaInstances1676093997212 implements MigrationInterface {
name = "AntennaInstances1676093997212";
async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TYPE "antenna_src_enum" ADD VALUE 'instances'`,
);
await queryRunner.query(
`ALTER TABLE "antenna" ADD "instances" jsonb NOT NULL DEFAULT '[]'`,
);
}
async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DELETE FROM "antenna" WHERE "src" = 'instances'`);
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "instances"`);
await queryRunner.query(
`CREATE TYPE "public"."antenna_src_enum_old" AS ENUM('home', 'all', 'users', 'list', 'group')`,
);
await queryRunner.query(
`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "public"."antenna_src_enum_old" USING "src"::"text"::"public"."antenna_src_enum_old"`,
);
await queryRunner.query(`DROP TYPE "public"."antenna_src_enum"`);
await queryRunner.query(
`ALTER TYPE "public"."antenna_src_enum_old" RENAME TO "antenna_src_enum"`,
);
}
}