import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1740224676806 implements MigrationInterface {
    name = 'Migrations1740224676806'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TYPE "public"."social_medias_social_type_enum" RENAME TO "social_medias_social_type_enum_old"`);
        await queryRunner.query(`CREATE TYPE "public"."social_medias_social_type_enum" AS ENUM('youtube', 'facebook', 'instagram', 'tiktok', 'xiaohongshu', 'instagram_facebook')`);
        await queryRunner.query(`ALTER TABLE "social_medias" ALTER COLUMN "social_type" DROP DEFAULT`);
        await queryRunner.query(`ALTER TABLE "social_medias" ALTER COLUMN "social_type" TYPE "public"."social_medias_social_type_enum" USING "social_type"::"text"::"public"."social_medias_social_type_enum"`);
        await queryRunner.query(`ALTER TABLE "social_medias" ALTER COLUMN "social_type" SET DEFAULT 'youtube'`);
        await queryRunner.query(`DROP TYPE "public"."social_medias_social_type_enum_old"`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TYPE "public"."social_medias_social_type_enum_old" AS ENUM('youtube', 'facebook', 'instagram', 'tiktok', 'xiaohongshu')`);
        await queryRunner.query(`ALTER TABLE "social_medias" ALTER COLUMN "social_type" DROP DEFAULT`);
        await queryRunner.query(`ALTER TABLE "social_medias" ALTER COLUMN "social_type" TYPE "public"."social_medias_social_type_enum_old" USING "social_type"::"text"::"public"."social_medias_social_type_enum_old"`);
        await queryRunner.query(`ALTER TABLE "social_medias" ALTER COLUMN "social_type" SET DEFAULT 'youtube'`);
        await queryRunner.query(`DROP TYPE "public"."social_medias_social_type_enum"`);
        await queryRunner.query(`ALTER TYPE "public"."social_medias_social_type_enum_old" RENAME TO "social_medias_social_type_enum"`);
    }

}
