import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1739869071174 implements MigrationInterface {
    name = 'Migrations1739869071174'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_f1f09e6160e9ac4f06241c582d6"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_f66ee179a90ff998ea6fc425c9c"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_9ffc6377ccf3c36b306050c8797"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_21bdf7241bc6f562d9aab74c2ae"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "REL_f1f09e6160e9ac4f06241c582d"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "REL_f66ee179a90ff998ea6fc425c9"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "REL_9ffc6377ccf3c36b306050c879"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "REL_21bdf7241bc6f562d9aab74c2a"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_f1f09e6160e9ac4f06241c582d6" FOREIGN KEY ("influencer_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_f66ee179a90ff998ea6fc425c9c" FOREIGN KEY ("brand_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_9ffc6377ccf3c36b306050c8797" FOREIGN KEY ("campaign_influencer_id") REFERENCES "campaign_influencers"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_21bdf7241bc6f562d9aab74c2ae" FOREIGN KEY ("campaign_id") REFERENCES "campaigns"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_21bdf7241bc6f562d9aab74c2ae"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_9ffc6377ccf3c36b306050c8797"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_f66ee179a90ff998ea6fc425c9c"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" DROP CONSTRAINT "FK_f1f09e6160e9ac4f06241c582d6"`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "REL_21bdf7241bc6f562d9aab74c2a" UNIQUE ("campaign_id")`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "REL_9ffc6377ccf3c36b306050c879" UNIQUE ("campaign_influencer_id")`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "REL_f66ee179a90ff998ea6fc425c9" UNIQUE ("brand_id")`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "REL_f1f09e6160e9ac4f06241c582d" UNIQUE ("influencer_id")`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_21bdf7241bc6f562d9aab74c2ae" FOREIGN KEY ("campaign_id") REFERENCES "campaigns"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_9ffc6377ccf3c36b306050c8797" FOREIGN KEY ("campaign_influencer_id") REFERENCES "campaign_influencers"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_f66ee179a90ff998ea6fc425c9c" FOREIGN KEY ("brand_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "campaign_payments" ADD CONSTRAINT "FK_f1f09e6160e9ac4f06241c582d6" FOREIGN KEY ("influencer_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
    }

}
