/* eslint-disable max-len */ // eslint-disable-next-line @typescript-eslint/consistent-type-imports import { MigrationInterface, QueryRunner } from 'typeorm'; export class CreateSectorVehicleName1699447995349 implements MigrationInterface { name = 'CreateSectorVehicleName1699447995349'; public async up(queryRunner: QueryRunner): Promise<void> { await queryRunner.query( `ALTER TABLE "vehicle_records" RENAME COLUMN "vehicle_name" TO "vehicle_name_id"`, ); await queryRunner.query( `ALTER TYPE "public"."vehicle_records_vehicle_name_enum" RENAME TO "vehicle_records_vehicle_name_id_enum"`, ); await queryRunner.query( `ALTER TABLE "activity_record_settings" RENAME COLUMN "sector" TO "sector_id"`, ); await queryRunner.query( `CREATE TABLE "sectors" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "created_at" TIMESTAMP NOT NULL DEFAULT now(), "updated_at" TIMESTAMP NOT NULL DEFAULT now(), "name" character varying NOT NULL, CONSTRAINT "UQ_1a10b192342e5165948f4dccefc" UNIQUE ("name"), CONSTRAINT "PK_923fdda0dc12f59add7b3a1782f" PRIMARY KEY ("id"))`, ); await queryRunner.query( `CREATE TABLE "vehicle_names" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "created_at" TIMESTAMP NOT NULL DEFAULT now(), "updated_at" TIMESTAMP NOT NULL DEFAULT now(), "name" character varying NOT NULL, "is_active" boolean NOT NULL DEFAULT true, CONSTRAINT "UQ_05346671ef1db62974af29838c9" UNIQUE ("name"), CONSTRAINT "PK_f84138ec8c11a8322802147bb5e" PRIMARY KEY ("id"))`, ); await queryRunner.query( `ALTER TABLE "vehicle_records" DROP COLUMN "vehicle_name_id"`, ); await queryRunner.query( `ALTER TABLE "vehicle_records" ADD "vehicle_name_id" uuid`, ); await queryRunner.query( `ALTER TABLE "activity_record_settings" DROP COLUMN "sector_id"`, ); await queryRunner.query( `ALTER TABLE "activity_record_settings" ADD "sector_id" uuid`, ); await queryRunner.query( `ALTER TABLE "ot_settings" ALTER COLUMN "extra_rate_per" SET DEFAULT '1.5'`, ); await queryRunner.query( `ALTER TABLE "vehicle_records" ADD CONSTRAINT "vehicle_record_vehicle_name" FOREIGN KEY ("vehicle_name_id") REFERENCES "vehicle_names"("id") ON DELETE NO ACTION ON UPDATE CASCADE`, ); await queryRunner.query( `ALTER TABLE "activity_record_settings" ADD CONSTRAINT "activity_record_setting_sector" FOREIGN KEY ("sector_id") REFERENCES "sectors"("id") ON DELETE NO ACTION ON UPDATE CASCADE`, ); } public async down(queryRunner: QueryRunner): Promise<void> { await queryRunner.query( `ALTER TABLE "activity_record_settings" DROP CONSTRAINT "activity_record_setting_sector"`, ); await queryRunner.query( `ALTER TABLE "vehicle_records" DROP CONSTRAINT "vehicle_record_vehicle_name"`, ); await queryRunner.query( `ALTER TABLE "ot_settings" ALTER COLUMN "extra_rate_per" SET DEFAULT 1.5`, ); await queryRunner.query( `ALTER TABLE "activity_record_settings" DROP COLUMN "sector_id"`, ); await queryRunner.query( `ALTER TABLE "activity_record_settings" ADD "sector_id" character varying NOT NULL`, ); await queryRunner.query( `ALTER TABLE "vehicle_records" DROP COLUMN "vehicle_name_id"`, ); await queryRunner.query( `ALTER TABLE "vehicle_records" ADD "vehicle_name_id" "public"."vehicle_records_vehicle_name_id_enum" NOT NULL`, ); await queryRunner.query(`DROP TABLE "vehicle_names"`); await queryRunner.query(`DROP TABLE "sectors"`); await queryRunner.query( `ALTER TABLE "activity_record_settings" RENAME COLUMN "sector_id" TO "sector"`, ); await queryRunner.query( `ALTER TYPE "public"."vehicle_records_vehicle_name_id_enum" RENAME TO "vehicle_records_vehicle_name_enum"`, ); await queryRunner.query( `ALTER TABLE "vehicle_records" RENAME COLUMN "vehicle_name_id" TO "vehicle_name"`, ); } }