import { MigrationInterface, QueryRunner } from 'typeorm';

export class AddSocialMediaIdToInstagramInsights1789411200000 implements MigrationInterface {
    name = 'AddSocialMediaIdToInstagramInsights1789411200000';

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "instagram_insights" ADD "social_media_id" uuid`);
        await queryRunner.query(
            `CREATE INDEX "IDX_instagram_insights_social_media_id" ON "instagram_insights" ("social_media_id")`,
        );
        await queryRunner.query(
            `ALTER TABLE "instagram_insights" ADD CONSTRAINT "FK_instagram_insights_social_media_id" FOREIGN KEY ("social_media_id") REFERENCES "social_medias"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
        );
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(
            `ALTER TABLE "instagram_insights" DROP CONSTRAINT "FK_instagram_insights_social_media_id"`,
        );
        await queryRunner.query(`DROP INDEX "public"."IDX_instagram_insights_social_media_id"`);
        await queryRunner.query(`ALTER TABLE "instagram_insights" DROP COLUMN "social_media_id"`);
    }
}
