import { MigrationInterface, QueryRunner } from "typeorm"

export class RemoveCityAndCountryInFleet1749538086198 implements MigrationInterface {
  name = "RemoveCityAndCountryInFleet1749538086198"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP CONSTRAINT "FK_2c5f6f91310daadfc826b1382ee"`,
    )
    await queryRunner.query(`ALTER TABLE "fleet_operations" DROP COLUMN "city"`)
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "state"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "country"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "state_id" integer`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD CONSTRAINT "FK_3c65c3638b63e87a1ae17ac94ba" FOREIGN KEY ("state_id") REFERENCES "states"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP CONSTRAINT "FK_3c65c3638b63e87a1ae17ac94ba"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "state_id"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "country" character varying`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "state" character varying`,
    )
    await queryRunner.query(`ALTER TABLE "fleet_operations" ADD "city" integer`)
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD CONSTRAINT "FK_2c5f6f91310daadfc826b1382ee" FOREIGN KEY ("city") REFERENCES "cities"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }
}
