import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1743414825876 implements MigrationInterface {
    name = 'Migrations1743414825876'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "facebook_pages" ALTER COLUMN "engagement_rate" SET DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE "instagram_profiles" ALTER COLUMN "engagement_rate" SET DEFAULT '0.0000'`);
        await queryRunner.query(`ALTER TABLE "tiktok_profiles" ALTER COLUMN "engagement_rate" SET DEFAULT '0.0000'`);
        await queryRunner.query(`DROP INDEX "public"."IDX_140782cea9e98f68821f1e94c2"`);
        await queryRunner.query(`ALTER TABLE "users" DROP COLUMN "engagement_ratio"`);
        await queryRunner.query(`ALTER TABLE "users" ADD "engagement_ratio" numeric(10,2) NOT NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE "youtube_channels" ALTER COLUMN "engagement_rate" SET DEFAULT '0.0000'`);
        await queryRunner.query(`CREATE INDEX "IDX_140782cea9e98f68821f1e94c2" ON "users" ("engagement_ratio") `);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`DROP INDEX "public"."IDX_140782cea9e98f68821f1e94c2"`);
        await queryRunner.query(`ALTER TABLE "youtube_channels" ALTER COLUMN "engagement_rate" SET DEFAULT 0.0000`);
        await queryRunner.query(`ALTER TABLE "users" DROP COLUMN "engagement_ratio"`);
        await queryRunner.query(`ALTER TABLE "users" ADD "engagement_ratio" character varying NOT NULL DEFAULT '0.0'`);
        await queryRunner.query(`CREATE INDEX "IDX_140782cea9e98f68821f1e94c2" ON "users" ("engagement_ratio") `);
        await queryRunner.query(`ALTER TABLE "tiktok_profiles" ALTER COLUMN "engagement_rate" SET DEFAULT 0.0000`);
        await queryRunner.query(`ALTER TABLE "instagram_profiles" ALTER COLUMN "engagement_rate" SET DEFAULT 0.0000`);
        await queryRunner.query(`ALTER TABLE "facebook_pages" ALTER COLUMN "engagement_rate" SET DEFAULT 0.0000`);
    }

}
