penisularhr / src / database / migrations / 1699460023986-add-leave-system-and-epf-socso.ts
1699460023986-add-leave-system-and-epf-socso.ts
Raw
/* eslint-disable max-len */
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
import { MigrationInterface, QueryRunner } from 'typeorm';

export class AddLeaveSystemAndEpfSocso1699460023986
  implements MigrationInterface
{
  name = 'AddLeaveSystemAndEpfSocso1699460023986';

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "monthly_records" DROP COLUMN "unpaid_leave"`,
    );
    await queryRunner.query(
      `ALTER TABLE "monthly_records" ADD "epf" numeric(20,6) NOT NULL DEFAULT '0'`,
    );
    await queryRunner.query(
      `ALTER TABLE "monthly_records" ADD "eis" numeric(20,6) NOT NULL DEFAULT '0'`,
    );
    await queryRunner.query(
      `ALTER TABLE "monthly_records" ADD "socso" numeric(20,6) NOT NULL DEFAULT '0'`,
    );
    await queryRunner.query(
      `ALTER TABLE "monthly_records" ADD "levy" numeric(20,6) NOT NULL DEFAULT '0'`,
    );
    await queryRunner.query(
      `ALTER TABLE "employees" ADD "annual_leave" numeric(8,3) NOT NULL DEFAULT '0'`,
    );
    await queryRunner.query(
      `ALTER TABLE "employees" ADD "sick_leave" numeric(8,3) NOT NULL DEFAULT '0'`,
    );
    await queryRunner.query(
      `ALTER TABLE "ot_settings" ALTER COLUMN "extra_rate_per" SET DEFAULT '1.5'`,
    );
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "ot_settings" ALTER COLUMN "extra_rate_per" SET DEFAULT 1.5`,
    );
    await queryRunner.query(`ALTER TABLE "employees" DROP COLUMN "sick_leave"`);
    await queryRunner.query(
      `ALTER TABLE "employees" DROP COLUMN "annual_leave"`,
    );
    await queryRunner.query(`ALTER TABLE "monthly_records" DROP COLUMN "levy"`);
    await queryRunner.query(
      `ALTER TABLE "monthly_records" DROP COLUMN "socso"`,
    );
    await queryRunner.query(`ALTER TABLE "monthly_records" DROP COLUMN "eis"`);
    await queryRunner.query(`ALTER TABLE "monthly_records" DROP COLUMN "epf"`);
    await queryRunner.query(
      `ALTER TABLE "monthly_records" ADD "unpaid_leave" numeric(20,6) NOT NULL DEFAULT '0'`,
    );
  }
}