import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1742226264736 implements MigrationInterface {
    name = 'Migrations1742226264736'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TABLE "apify_scraper" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "platform" character varying, "response_json" jsonb, "created_at" TIMESTAMP(0) NOT NULL DEFAULT now(), "deleted_at" TIMESTAMP(0), "socialMedia" uuid, CONSTRAINT "PK_e19487a6a9bf975cba8872804a4" PRIMARY KEY ("id"))`);
        await queryRunner.query(`ALTER TABLE "instagram_profiles" DROP COLUMN "response_json"`);
        await queryRunner.query(`ALTER TABLE "instagram_profiles" ADD "response_json" jsonb`);
        await queryRunner.query(`ALTER TABLE "youtube_channels" ALTER COLUMN "engagement_rate" SET DEFAULT '0.0000'`);
        await queryRunner.query(`ALTER TABLE "facebook_pages" 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 "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 "apify_scraper" ADD CONSTRAINT "FK_054bca701156d4bb42883ab8fa8" FOREIGN KEY ("socialMedia") REFERENCES "social_medias"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "apify_scraper" DROP CONSTRAINT "FK_054bca701156d4bb42883ab8fa8"`);
        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(`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`);
        await queryRunner.query(`ALTER TABLE "youtube_channels" ALTER COLUMN "engagement_rate" SET DEFAULT 0.0000`);
        await queryRunner.query(`ALTER TABLE "instagram_profiles" DROP COLUMN "response_json"`);
        await queryRunner.query(`ALTER TABLE "instagram_profiles" ADD "response_json" jsonb`);
        await queryRunner.query(`DROP TABLE "apify_scraper"`);
    }

}
