import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1740133891455 implements MigrationInterface {
    name = 'Migrations1740133891455'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TYPE "public"."settings_type_enum" RENAME TO "settings_type_enum_old"`);
        await queryRunner.query(`CREATE TYPE "public"."settings_type_enum" AS ENUM('facebook_followers_count', 'instagram_followers_count', 'tiktok_followers_count', 'youtube_subscriber_count', 'category_min', 'category_max', 'industry_min', 'industry_max', 'platform_charge')`);
        await queryRunner.query(`ALTER TABLE "settings" ALTER COLUMN "type" DROP DEFAULT`);
        await queryRunner.query(`ALTER TABLE "settings" ALTER COLUMN "type" TYPE "public"."settings_type_enum" USING "type"::"text"::"public"."settings_type_enum"`);
        await queryRunner.query(`ALTER TABLE "settings" ALTER COLUMN "type" SET DEFAULT 'facebook_followers_count'`);
        await queryRunner.query(`DROP TYPE "public"."settings_type_enum_old"`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TYPE "public"."settings_type_enum_old" AS ENUM('facebook_followers_count', 'instagram_followers_count', 'tiktok_followers_count', 'youtube_subscriber_count', 'category_min', 'category_max', 'industry_min', 'industry_max')`);
        await queryRunner.query(`ALTER TABLE "settings" ALTER COLUMN "type" DROP DEFAULT`);
        await queryRunner.query(`ALTER TABLE "settings" ALTER COLUMN "type" TYPE "public"."settings_type_enum_old" USING "type"::"text"::"public"."settings_type_enum_old"`);
        await queryRunner.query(`ALTER TABLE "settings" ALTER COLUMN "type" SET DEFAULT 'facebook_followers_count'`);
        await queryRunner.query(`DROP TYPE "public"."settings_type_enum"`);
        await queryRunner.query(`ALTER TYPE "public"."settings_type_enum_old" RENAME TO "settings_type_enum"`);
    }

}
