hippofish/packages/backend/src/migration/1655368940105-nsfw-detection.ts

52 lines
1.8 KiB
TypeScript
Raw Normal View History

import type { MigrationInterface, QueryRunner } from "typeorm";
export class nsfwDetection1655368940105 implements MigrationInterface {
async up(queryRunner: QueryRunner): Promise<void> {
2023-04-07 03:56:46 +02:00
await queryRunner.query(
`ALTER TABLE "drive_file" ADD "forceIsSensitive" boolean NOT NULL DEFAULT false`,
);
await queryRunner.query(
`ALTER TABLE "drive_file" ADD "predictedIsSensitive" boolean NOT NULL DEFAULT false`,
);
await queryRunner.query(
`COMMENT ON COLUMN "drive_file"."predictedIsSensitive" IS 'Whether the DriveFile is NSFW. (predict)'`,
);
await queryRunner.query(
`CREATE TYPE "public"."meta_sensitiveimagedetection_enum" AS ENUM('none', 'all', 'local', 'remote')`,
);
await queryRunner.query(
`ALTER TABLE "meta" ADD "sensitiveImageDetection" "public"."meta_sensitiveimagedetection_enum" NOT NULL DEFAULT 'none'`,
);
await queryRunner.query(
`ALTER TABLE "meta" ADD "forceIsSensitiveWhenPredicted" boolean NOT NULL DEFAULT true`,
);
await queryRunner.query(
`CREATE INDEX "IDX_fc2d74a6d7d8b11292a851d8f8" ON "drive_file" ("predictedIsSensitive") `,
);
}
async down(queryRunner: QueryRunner): Promise<void> {
2023-04-07 03:56:46 +02:00
await queryRunner.query(
`DROP INDEX "public"."IDX_fc2d74a6d7d8b11292a851d8f8"`,
);
await queryRunner.query(
`ALTER TABLE "meta" DROP COLUMN "forceIsSensitiveWhenPredicted"`,
);
await queryRunner.query(
`ALTER TABLE "meta" DROP COLUMN "sensitiveImageDetection"`,
);
await queryRunner.query(
`DROP TYPE "public"."meta_sensitiveimagedetection_enum"`,
);
await queryRunner.query(
`COMMENT ON COLUMN "drive_file"."predictedIsSensitive" IS 'Whether the DriveFile is NSFW. (predict)'`,
);
await queryRunner.query(
`ALTER TABLE "drive_file" DROP COLUMN "predictedIsSensitive"`,
);
await queryRunner.query(
`ALTER TABLE "drive_file" DROP COLUMN "forceIsSensitive"`,
);
}
}