import { MigrationInterface, QueryRunner } from "typeorm"

export class AlterCompanyIdNullableInRolePermissions1763969126868 implements MigrationInterface {
  name = "AlterCompanyIdNullableInRolePermissions1763969126868"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "role_permissions" DROP CONSTRAINT "FK_d6252ee42a4cb1cee588d10ac7f"`,
    )
    await queryRunner.query(
      `ALTER TABLE "role_permissions" ALTER COLUMN "company_id" DROP NOT NULL`,
    )
    await queryRunner.query(
      `ALTER TABLE "role_permissions" ADD CONSTRAINT "FK_d6252ee42a4cb1cee588d10ac7f" FOREIGN KEY ("company_id") REFERENCES "companies"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "role_permissions" DROP CONSTRAINT "FK_d6252ee42a4cb1cee588d10ac7f"`,
    )
    await queryRunner.query(
      `ALTER TABLE "role_permissions" ALTER COLUMN "company_id" SET NOT NULL`,
    )
    await queryRunner.query(
      `ALTER TABLE "role_permissions" ADD CONSTRAINT "FK_d6252ee42a4cb1cee588d10ac7f" FOREIGN KEY ("company_id") REFERENCES "companies"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }
}
