diff --git a/src/migration/1718097497764-add_table_change_position.ts b/src/migration/1718097497764-add_table_change_position.ts new file mode 100644 index 00000000..ee44c7fa --- /dev/null +++ b/src/migration/1718097497764-add_table_change_position.ts @@ -0,0 +1,18 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class AddTableChangePosition1718097497764 implements MigrationInterface { + name = 'AddTableChangePosition1718097497764' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`CREATE TABLE \`changePosition\` (\`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\` text NULL COMMENT 'ชื่อรอบการย้ายสับเปลี่ยนตำแหน่ง', \`date\` datetime NULL COMMENT 'วันที่ดำเนินการ', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); + await queryRunner.query(`CREATE TABLE \`profileChangePosition\` (\`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', \`reason\` text NULL COMMENT 'เหตุผลที่รับโอนราชการ', \`educationOld\` varchar(255) NULL COMMENT 'วุฒิ/สาขาเดิม', \`organizationPositionOld\` varchar(255) NULL COMMENT 'สังกัดเดิม', \`organizationOld\` varchar(255) NULL COMMENT 'สังกัดเดิม', \`positionOld\` varchar(255) NULL COMMENT 'ตำแหน่งเดิม', \`positionTypeOld\` varchar(255) NULL COMMENT 'ข้อมูลหน่วยงานเดิม ตำแหน่งประเภท', \`positionLevelOld\` varchar(255) NULL COMMENT 'ข้อมูลหน่วยงานเดิม ระดับ', \`positionNumberOld\` varchar(255) NULL COMMENT 'ข้อมูลหน่วยงานเดิม เลขที่', \`amountOld\` double NULL COMMENT 'ข้อมูลหน่วยงานเดิม เงินเดือน', \`profileId\` varchar(255) NULL COMMENT 'profile Id', \`prefix\` varchar(255) NULL COMMENT 'คำนำหน้า', \`firstName\` varchar(255) NULL COMMENT 'ชื่อ', \`lastName\` varchar(255) NULL COMMENT 'นามสกุล', \`citizenId\` varchar(255) NULL COMMENT 'เลขบัตรประชาชน', \`root\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน root', \`rootId\` varchar(255) NULL COMMENT 'id หน่วยงาน root', \`rootShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน root', \`child1\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child1', \`child1Id\` varchar(255) NULL COMMENT 'id หน่วยงาน child1', \`child1ShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child1', \`child2\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child2', \`child2Id\` varchar(255) NULL COMMENT 'id หน่วยงาน child2', \`child2ShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child2', \`child3\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child3', \`child3Id\` varchar(255) NULL COMMENT 'id หน่วยงาน child3', \`child3ShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child3', \`child4\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child4', \`child4Id\` varchar(255) NULL COMMENT 'id หน่วยงาน child4', \`child4ShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child4', \`node\` int NULL COMMENT 'ระดับโครงสร้าง', \`nodeId\` varchar(255) NULL COMMENT 'id โครงสร้าง', \`posmasterId\` varchar(255) NULL COMMENT 'id อัตรากำลัง', \`orgRevisionId\` varchar(255) NULL COMMENT 'id revision', \`positionId\` varchar(255) NULL COMMENT 'id ตำแหน่ง', \`positionField\` varchar(255) NULL COMMENT 'สายงาน', \`posMasterNo\` int NULL COMMENT 'เลขที่ตำแหน่ง', \`position\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งในสายงาน', \`posTypeId\` varchar(255) NULL COMMENT 'id ประเภทตำแหน่ง', \`posTypeName\` varchar(255) NULL COMMENT 'ชื่อประเภทตำแหน่ง', \`posLevelId\` varchar(255) NULL COMMENT 'id ระดับตำแหน่ง', \`posLevelName\` varchar(255) NULL COMMENT 'ชื่อระดับตำแหน่ง', \`rootOld\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน root old', \`rootOldId\` varchar(255) NULL COMMENT 'id หน่วยงาน root old', \`rootShortNameOld\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน root old', \`child1Old\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child1 old', \`child1OldId\` varchar(255) NULL COMMENT 'id หน่วยงาน child1 old', \`child1ShortNameOld\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child1 old', \`child2Old\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child2 old', \`child2OldId\` varchar(255) NULL COMMENT 'id หน่วยงาน child2 old', \`child2ShortNameOld\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child2 old', \`child3Old\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child3 old', \`child3OldId\` varchar(255) NULL COMMENT 'id หน่วยงาน child3 old', \`child3ShortNameOld\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child3 old', \`child4Old\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน child4 old', \`child4OldId\` varchar(255) NULL COMMENT 'id หน่วยงาน child4 old', \`child4ShortNameOld\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน child4 old', \`posMasterNoOld\` int NULL COMMENT 'เลขที่ตำแหน่ง old', \`posTypeOldId\` varchar(255) NULL COMMENT 'id ประเภทตำแหน่ง old', \`posTypeNameOld\` varchar(255) NULL COMMENT 'ชื่อประเภทตำแหน่ง old', \`posLevelOldId\` varchar(255) NULL COMMENT 'id ระดับตำแหน่ง old', \`posLevelNameOld\` varchar(255) NULL COMMENT 'ชื่อระดับตำแหน่ง old', \`changePositionId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง ChangePosition', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); + await queryRunner.query(`ALTER TABLE \`profileChangePosition\` ADD CONSTRAINT \`FK_91b13ee34e6af4bee74771d17e8\` FOREIGN KEY (\`changePositionId\`) REFERENCES \`changePosition\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`profileChangePosition\` DROP FOREIGN KEY \`FK_91b13ee34e6af4bee74771d17e8\``); + await queryRunner.query(`DROP TABLE \`profileChangePosition\``); + await queryRunner.query(`DROP TABLE \`changePosition\``); + } + +}