import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1735814340476 implements MigrationInterface {
    name = 'Migrations1735814340476'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TABLE "campaign_influencers" ("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_c90dfad81920e9bd84c5f116e5e" PRIMARY KEY ("id"))`);
        await queryRunner.query(`ALTER TABLE "campaign_influencers" ADD CONSTRAINT "FK_345d101753a7b98635e0d789370" FOREIGN KEY ("campaign_id") REFERENCES "campaigns"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_influencers" ADD CONSTRAINT "FK_ec8463a9358c409d807aab6ddb1" 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_influencers" DROP CONSTRAINT "FK_ec8463a9358c409d807aab6ddb1"`);
        await queryRunner.query(`ALTER TABLE "campaign_influencers" DROP CONSTRAINT "FK_345d101753a7b98635e0d789370"`);
        await queryRunner.query(`DROP TABLE "campaign_influencers"`);
    }

}
