import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1737540728730 implements MigrationInterface {
    name = 'Migrations1737540728730'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "draft_versions" DROP COLUMN "createdAt"`);
        await queryRunner.query(`ALTER TABLE "draft_versions" DROP COLUMN "updatedAt"`);
        await queryRunner.query(`ALTER TABLE "draft" DROP COLUMN "createdAt"`);
        await queryRunner.query(`ALTER TABLE "draft" DROP COLUMN "updatedAt"`);
        await queryRunner.query(`ALTER TABLE "draft" ADD "campaign_influencer_id" uuid`);
        await queryRunner.query(`ALTER TABLE "draft" ADD CONSTRAINT "FK_46bf237252d88cf2923d2a839a6" FOREIGN KEY ("campaign_id") REFERENCES "campaigns"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "draft" ADD CONSTRAINT "FK_f47dcc6cb442e11d646ee6e2238" FOREIGN KEY ("campaign_influencer_id") REFERENCES "campaign_influencers"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "draft" DROP CONSTRAINT "FK_f47dcc6cb442e11d646ee6e2238"`);
        await queryRunner.query(`ALTER TABLE "draft" DROP CONSTRAINT "FK_46bf237252d88cf2923d2a839a6"`);
        await queryRunner.query(`ALTER TABLE "draft" DROP COLUMN "campaign_influencer_id"`);
        await queryRunner.query(`ALTER TABLE "draft" ADD "updatedAt" TIMESTAMP NOT NULL DEFAULT now()`);
        await queryRunner.query(`ALTER TABLE "draft" ADD "createdAt" TIMESTAMP NOT NULL DEFAULT now()`);
        await queryRunner.query(`ALTER TABLE "draft_versions" ADD "updatedAt" TIMESTAMP NOT NULL DEFAULT now()`);
        await queryRunner.query(`ALTER TABLE "draft_versions" ADD "createdAt" TIMESTAMP NOT NULL DEFAULT now()`);
    }

}
