import { MigrationInterface, QueryRunner } from "typeorm"

export class AddRelationOfVehicleStatusInFleet1749474347434 implements MigrationInterface {
  name = "AddRelationOfVehicleStatusInFleet1749474347434"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" RENAME COLUMN "status" TO "vehicle_status_id"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "vehicle_status_id"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "vehicle_status_id" integer`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD CONSTRAINT "FK_204a11fd4ac13fa305797bf2425" FOREIGN KEY ("vehicle_status_id") REFERENCES "vehicle_statuses"("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_204a11fd4ac13fa305797bf2425"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "vehicle_status_id"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "vehicle_status_id" character varying NOT NULL`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" RENAME COLUMN "vehicle_status_id" TO "status"`,
    )
  }
}
