import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1735883026850 implements MigrationInterface {
    name = 'Migrations1735883026850'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TABLE "campaign_influencer_bookmarks" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP NOT NULL DEFAULT now(), "campaign_id" uuid, "influencerId" uuid, CONSTRAINT "PK_85185b6cb82bef2105625184812" PRIMARY KEY ("id"))`);
        await queryRunner.query(`ALTER TABLE "campaign_influencer_bookmarks" ADD CONSTRAINT "FK_8f7119865117ac2bc79097e0892" FOREIGN KEY ("campaign_id") REFERENCES "campaigns"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_influencer_bookmarks" ADD CONSTRAINT "FK_fed7bb27fc9670b24ee24133c16" FOREIGN KEY ("influencerId") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "campaign_influencer_bookmarks" DROP CONSTRAINT "FK_fed7bb27fc9670b24ee24133c16"`);
        await queryRunner.query(`ALTER TABLE "campaign_influencer_bookmarks" DROP CONSTRAINT "FK_8f7119865117ac2bc79097e0892"`);
        await queryRunner.query(`DROP TABLE "campaign_influencer_bookmarks"`);
    }

}
