hrms-api-kpi/src/migration/1715147757259-add_table_kpiDevelopment.ts
2024-05-08 13:31:43 +07:00

26 lines
3.9 KiB
TypeScript

import { MigrationInterface, QueryRunner } from "typeorm";
export class AddTableKpiDevelopment1715147757259 implements MigrationInterface {
name = 'AddTableKpiDevelopment1715147757259'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE TABLE \`kpiUserDevelopment\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`name\` varchar(255) NULL COMMENT 'ชื่อเรื่อง', \`target\` varchar(255) NULL COMMENT 'เป้าหมาย', \`summary\` double NULL COMMENT 'ผลการประเมิน', \`achievement10\` varchar(255) NULL COMMENT 'เกณฑ์การประเมิน 10', \`achievement5\` varchar(255) NULL COMMENT 'เกณฑ์การประเมิน 5', \`achievement0\` varchar(255) NULL COMMENT 'เกณฑ์การประเมิน 0', \`kpiUserEvaluationId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง kpiUserEvaluation', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`ALTER TABLE \`kpiUserSpecial\` ADD \`period\` varchar(255) NULL COMMENT 'รอบ'`);
await queryRunner.query(`ALTER TABLE \`kpiUserSpecial\` ADD \`year\` varchar(255) NULL COMMENT 'ปี'`);
await queryRunner.query(`ALTER TABLE \`kpiSpecial\` ADD \`period\` varchar(255) NULL COMMENT 'รอบ'`);
await queryRunner.query(`ALTER TABLE \`kpiSpecial\` ADD \`year\` varchar(255) NULL COMMENT 'ปี'`);
await queryRunner.query(`ALTER TABLE \`kpiUserEvaluation\` CHANGE \`evaluationStatus\` \`evaluationStatus\` varchar(40) NULL COMMENT 'สถานะการประเมินผล ดังนี้ NEW = รอดำเนินการ, INPROGRESS = กําลังดำเนินการ, DONE = ประเมินเสร็จสิ้น'`);
await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` ADD CONSTRAINT \`FK_d7b8acb8bfc3c3b6fe7a769c70d\` FOREIGN KEY (\`kpiUserEvaluationId\`) REFERENCES \`kpiUserEvaluation\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` DROP FOREIGN KEY \`FK_d7b8acb8bfc3c3b6fe7a769c70d\``);
await queryRunner.query(`ALTER TABLE \`kpiUserEvaluation\` CHANGE \`evaluationStatus\` \`evaluationStatus\` varchar(40) NULL COMMENT 'สถานะการประเมินผล ดังนี้ PENDING = รอดำเนินการ, INPROGRESS = กําลังดำเนินการ, DONE = ประเมินเสร็จสิ้น'`);
await queryRunner.query(`ALTER TABLE \`kpiSpecial\` DROP COLUMN \`year\``);
await queryRunner.query(`ALTER TABLE \`kpiSpecial\` DROP COLUMN \`period\``);
await queryRunner.query(`ALTER TABLE \`kpiUserSpecial\` DROP COLUMN \`year\``);
await queryRunner.query(`ALTER TABLE \`kpiUserSpecial\` DROP COLUMN \`period\``);
await queryRunner.query(`DROP TABLE \`kpiUserDevelopment\``);
}
}