diff --git a/src/migration/1711006345173-update_table_profile_add_information1.ts b/src/migration/1711006345173-update_table_profile_add_information1.ts new file mode 100644 index 00000000..257beb5f --- /dev/null +++ b/src/migration/1711006345173-update_table_profile_add_information1.ts @@ -0,0 +1,150 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableProfileAddInformation11711006345173 implements MigrationInterface { + name = 'UpdateTableProfileAddInformation11711006345173' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`CREATE TABLE \`leaveType\` (\`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 'ประเภทการลา', \`code\` varchar(255) NULL COMMENT 'รหัสประเภอการลา', \`limit\` int NULL COMMENT 'ลาได้สูงสุด(วัน)' DEFAULT 1, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); + await queryRunner.query(`ALTER TABLE \`profileDisciplineHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileDiscipline\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileCertificateHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileCertificate\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileEducationHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileEducation\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileInsigniaHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileInsignia\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileHonorHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`absentCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`absentDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`agencyCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`agencyDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`coupleCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`coupleDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`dateEndLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`dateStartLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`lateCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`lateDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`maternityCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`maternityDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`militaryCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`militaryDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`numLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`ordainCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`ordainDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`otherCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`otherDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`personalCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`personalDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`restCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`restDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`sickCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`sickDay\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`studyCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`sumLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`typeLeaveId\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`dateEndLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`dateStartLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`numLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`sumLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`typeLeaveId\``); + await queryRunner.query(`ALTER TABLE \`profileAbilityHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileAbility\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileDutyHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileDuty\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileNopaidHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileNopaid\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileFamilyHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileChildren\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileChildrenHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileGovernment\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileChangeNameHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileChangeName\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`leaveTypeId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง LeaveType'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`dateLeave\` datetime NULL COMMENT 'วัน เดือน ปี ที่ลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`leaveDays\` double NULL COMMENT 'จำนวนวันลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`leaveCount\` double NULL COMMENT 'ลามาเเล้ว'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`profileId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง Profile'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`leaveTypeId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง LeaveType'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`dateLeave\` datetime NULL COMMENT 'วัน เดือน ปี ที่ลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`leaveDays\` double NULL COMMENT 'จำนวนวันลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`leaveCount\` double NULL COMMENT 'ลามาเเล้ว'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD CONSTRAINT \`FK_c7b4b3529783aa3ac2cb20a99cc\` FOREIGN KEY (\`leaveTypeId\`) REFERENCES \`leaveType\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD CONSTRAINT \`FK_aaf7f7a3cd4f3b71ade845f7723\` FOREIGN KEY (\`leaveTypeId\`) REFERENCES \`leaveType\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD CONSTRAINT \`FK_131a7fa0adcdda15d6675e34e48\` FOREIGN KEY (\`profileId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP FOREIGN KEY \`FK_131a7fa0adcdda15d6675e34e48\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP FOREIGN KEY \`FK_aaf7f7a3cd4f3b71ade845f7723\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP FOREIGN KEY \`FK_c7b4b3529783aa3ac2cb20a99cc\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`leaveCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`leaveDays\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`dateLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`leaveTypeId\``); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` DROP COLUMN \`profileId\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`leaveCount\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`leaveDays\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`dateLeave\``); + await queryRunner.query(`ALTER TABLE \`profileLeave\` DROP COLUMN \`leaveTypeId\``); + await queryRunner.query(`ALTER TABLE \`profileChangeName\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileChangeNameHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileGovernment\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileChildrenHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileChildren\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileFamilyHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileNopaid\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileNopaidHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileDuty\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileDutyHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileAbility\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileAbilityHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`typeLeaveId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง TypeLeave'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`sumLeave\` double NULL COMMENT 'ลามาแล้ว'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`numLeave\` double NULL COMMENT 'ลาครั้งที่'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`dateStartLeave\` datetime NULL COMMENT 'วัน เดือน ปี ที่เริ่มลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeaveHistory\` ADD \`dateEndLeave\` datetime NULL COMMENT 'วัน เดือน ปี ที่สิ้นสุดลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`typeLeaveId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง TypeLeave'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`sumLeave\` double NULL COMMENT 'ลามาแล้ว'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`studyCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`sickDay\` double NULL COMMENT 'ลาป่วย (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`sickCount\` double NULL COMMENT 'ลาพักผ่อน (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`restDay\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`restCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`personalDay\` double NULL COMMENT 'ลากิจส่วนตัว (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`personalCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`otherDay\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`otherCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`ordainDay\` double NULL COMMENT 'ลาอุปสมบทหรือการลาประกอบพิธีฮัจย์ฯ (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`ordainCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`numLeave\` double NULL COMMENT 'ลาครั้งที่'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`militaryDay\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`militaryCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`maternityDay\` double NULL COMMENT 'ลาคลอดบุตร (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`maternityCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`lateDay\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`lateCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`dateStartLeave\` datetime NULL COMMENT 'วัน เดือน ปี ที่เริ่มลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`dateEndLeave\` datetime NULL COMMENT 'วัน เดือน ปี ที่สิ้นสุดลา'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`coupleDay\` double NULL COMMENT 'ลาติดตามคู่สมรส (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`coupleCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`agencyDay\` double NULL COMMENT 'ลาไปปฏิบัติงานในองค์การระหว่างประเทศ (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`agencyCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`absentDay\` double NULL COMMENT 'ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล (วัน)'`); + await queryRunner.query(`ALTER TABLE \`profileLeave\` ADD \`absentCount\` double NULL`); + await queryRunner.query(`ALTER TABLE \`profileHonorHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileInsignia\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileInsigniaHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileEducation\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileEducationHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileCertificate\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileCertificateHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileDiscipline\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE \`profileDisciplineHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT '0'`); + await queryRunner.query(`DROP TABLE \`leaveType\``); + } + +}