/* eslint-disable max-len */ // eslint-disable-next-line @typescript-eslint/consistent-type-imports import { MigrationInterface, QueryRunner } from 'typeorm'; export class CreateActivityRecord1698774375744 implements MigrationInterface { name = 'CreateActivityRecord1698774375744'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( `ALTER TABLE "ot_records" DROP CONSTRAINT "ot_record_employee"`, ); await queryRunner.query( `ALTER TABLE "incentive_settings" RENAME COLUMN "is_activated" TO "is_active"`, ); await queryRunner.query( `ALTER TABLE "employees" RENAME COLUMN "is_activated" TO "is_active"`, ); await queryRunner.query( `ALTER TABLE "activity_record_settings" RENAME COLUMN "is_activated" TO "is_active"`, ); await queryRunner.query( `CREATE TABLE "activity_records" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "created_at" TIMESTAMP NOT NULL DEFAULT now(), "updated_at" TIMESTAMP NOT NULL DEFAULT now(), "date" TIMESTAMP NOT NULL, "hour" numeric(20,6) NOT NULL, "rate" numeric(20,6) NOT NULL, "quantity" numeric(20,6) NOT NULL, "remark" character varying, "employee_id" uuid, "activity_record_setting_id" uuid, "block_id" uuid, CONSTRAINT "PK_3ee96d2cc455e742c82f4b053db" PRIMARY KEY ("id"))`, ); await queryRunner.query( `ALTER TABLE "ot_settings" ALTER COLUMN "extra_rate_per" SET DEFAULT '1.5'`, ); await queryRunner.query( `ALTER TABLE "ot_records" ADD CONSTRAINT "ot_record_employee" FOREIGN KEY ("employee_id") REFERENCES "employees"("id") ON DELETE NO ACTION ON UPDATE CASCADE`, ); await queryRunner.query( `ALTER TABLE "activity_records" ADD CONSTRAINT "activity_record_employee" FOREIGN KEY ("employee_id") REFERENCES "employees"("id") ON DELETE NO ACTION ON UPDATE CASCADE`, ); await queryRunner.query( `ALTER TABLE "activity_records" ADD CONSTRAINT "activity_record_activity_record_setting" FOREIGN KEY ("activity_record_setting_id") REFERENCES "activity_record_settings"("id") ON DELETE NO ACTION ON UPDATE CASCADE`, ); await queryRunner.query( `ALTER TABLE "activity_records" ADD CONSTRAINT "activity_record_block" FOREIGN KEY ("block_id") REFERENCES "blocks"("id") ON DELETE NO ACTION ON UPDATE CASCADE`, ); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query( `ALTER TABLE "activity_records" DROP CONSTRAINT "activity_record_block"`, ); await queryRunner.query( `ALTER TABLE "activity_records" DROP CONSTRAINT "activity_record_activity_record_setting"`, ); await queryRunner.query( `ALTER TABLE "activity_records" DROP CONSTRAINT "activity_record_employee"`, ); await queryRunner.query( `ALTER TABLE "ot_records" DROP CONSTRAINT "ot_record_employee"`, ); await queryRunner.query( `ALTER TABLE "ot_settings" ALTER COLUMN "extra_rate_per" SET DEFAULT 1.5`, ); await queryRunner.query(`DROP TABLE "activity_records"`); await queryRunner.query( `ALTER TABLE "activity_record_settings" RENAME COLUMN "is_active" TO "is_activated"`, ); await queryRunner.query( `ALTER TABLE "employees" RENAME COLUMN "is_active" TO "is_activated"`, ); await queryRunner.query( `ALTER TABLE "incentive_settings" RENAME COLUMN "is_active" TO "is_activated"`, ); await queryRunner.query( `ALTER TABLE "ot_records" ADD CONSTRAINT "ot_record_employee" FOREIGN KEY ("employee_id") REFERENCES "employees"("id") ON DELETE CASCADE ON UPDATE CASCADE`, ); } }