import { MigrationInterface, QueryRunner } from "typeorm"

export class AddTripBasePricingTable1756808549478 implements MigrationInterface {
  name = "AddTripBasePricingTable1756808549478"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `CREATE TABLE "trip_base_pricing" ("id" SERIAL NOT NULL, "trip_id" integer NOT NULL, "vehicle_type_id" integer, "trip_type_id" integer, "vehicle_type_price" character varying, "meet_greet_id" integer, "meet_greet_price" character varying, "created_at" TIMESTAMP NOT NULL DEFAULT NOW(), "updated_at" TIMESTAMP NOT NULL DEFAULT NOW(), "deleted_at" TIMESTAMP, CONSTRAINT "PK_9fef39eabf0c57b45036148d5c6" PRIMARY KEY ("id"))`,
    )
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" ADD CONSTRAINT "FK_a78f5ee54c30af04abbdc0cdd26" FOREIGN KEY ("trip_id") REFERENCES "trips"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" ADD CONSTRAINT "FK_11dd5532a02e1b34f832bd5b6a8" FOREIGN KEY ("vehicle_type_id") REFERENCES "vehicle_types"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" ADD CONSTRAINT "FK_b01b72d6d682e96267c5de73b96" FOREIGN KEY ("trip_type_id") REFERENCES "trip_types"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" ADD CONSTRAINT "FK_ab449281ff5f00d6470d8263ff2" FOREIGN KEY ("meet_greet_id") REFERENCES "meet_and_greet_pricing"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" DROP CONSTRAINT "FK_ab449281ff5f00d6470d8263ff2"`,
    )
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" DROP CONSTRAINT "FK_b01b72d6d682e96267c5de73b96"`,
    )
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" DROP CONSTRAINT "FK_11dd5532a02e1b34f832bd5b6a8"`,
    )
    await queryRunner.query(
      `ALTER TABLE "trip_base_pricing" DROP CONSTRAINT "FK_a78f5ee54c30af04abbdc0cdd26"`,
    )
    await queryRunner.query(`DROP TABLE "trip_base_pricing"`)
  }
}
