tabel OrgGroup

This commit is contained in:
AdisakKanthawilang 2024-01-24 17:22:41 +07:00
parent 688e94e26a
commit 0069c3f491
7 changed files with 71 additions and 37 deletions

View file

@ -0,0 +1,34 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class AddTableOrgGroup1706091448140 implements MigrationInterface {
name = 'AddTableOrgGroup1706091448140'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE TABLE \`entity_base\` (\`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', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`CREATE TABLE \`orgChild4\` (\`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', \`orgChild4Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string', \`orgChild4ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string', \`orgChild4Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string', \`orgChild4Rank\` enum ('department', 'office', 'division', 'section') NULL COMMENT 'ระดับส่วนราชการ', \`orgChild4Order\` int NULL COMMENT 'ลำดับที่ของส่วนราชการภายใน Child เดียวกัน', \`orgChild4PhoneEx\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายนอก', \`orgChild4PhoneIn\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายใน', \`orgChild4Fax\` varchar(64) NULL COMMENT 'หมายเลขโทรสาร', \`orgChild4IsNormal\` tinyint NULL COMMENT 'สถานะของหน่วยงาน', \`fkOrgRootId\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', \`fkOrgChild1Id\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', \`fkOrgChild2Id\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', \`fkOrgChild3Id\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`CREATE TABLE \`orgChild3\` (\`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', \`orgChild3Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string', \`orgChild3ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string', \`orgChild3Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string', \`orgChild3Rank\` enum ('department', 'office', 'division', 'section') NULL COMMENT 'ระดับส่วนราชการ', \`orgChild3Order\` int NULL COMMENT 'ลำดับที่ของส่วนราชการภายใน Child เดียวกัน', \`orgChild3PhoneEx\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายนอก', \`orgChild3PhoneIn\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายใน', \`orgChild3Fax\` varchar(64) NULL COMMENT 'หมายเลขโทรสาร', \`orgChild3IsNormal\` tinyint NULL COMMENT 'สถานะของหน่วยงาน', \`fkOrgRootId\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', \`fkOrgChild1Id\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', \`fkOrgChild2Id\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`CREATE TABLE \`orgChild2\` (\`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', \`orgChild2Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string', \`orgChild2ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string', \`orgChild2Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string', \`orgChild2Rank\` enum ('department', 'office', 'division', 'section') NULL COMMENT 'ระดับส่วนราชการ', \`orgChild2Order\` int NULL COMMENT 'ลำดับที่ของส่วนราชการภายใน Child เดียวกัน', \`orgChild2PhoneEx\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายนอก', \`orgChild2PhoneIn\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายใน', \`orgChild2Fax\` varchar(64) NULL COMMENT 'หมายเลขโทรสาร', \`orgChild2IsNormal\` tinyint NULL COMMENT 'สถานะของหน่วยงาน', \`fkOrgRootId\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', \`fkOrgChild1Id\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`CREATE TABLE \`orgChild1\` (\`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', \`orgChild1Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string', \`orgChild1ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string', \`orgChild1Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string', \`orgChild1Rank\` enum ('department', 'office', 'division', 'section') NULL COMMENT 'ระดับส่วนราชการ', \`orgChild1Order\` int NULL COMMENT 'ลำดับที่ของส่วนราชการภายใน Child เดียวกัน', \`orgChild1PhoneEx\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายนอก', \`orgChild1PhoneIn\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายใน', \`orgChild1Fax\` varchar(64) NULL COMMENT 'หมายเลขโทรสาร', \`orgChild1IsNormal\` tinyint NULL COMMENT 'สถานะของหน่วยงาน', \`fkOrgRootId\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`CREATE TABLE \`orgRoot\` (\`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', \`orgRootName\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน' DEFAULT 'string', \`orgRootShortName\` varchar(16) NULL COMMENT 'ชื่อย่อหน่วยงาน' DEFAULT 'string', \`orgRootCode\` varchar(8) NULL COMMENT 'รหัสหน่วยงาน' DEFAULT 'string', \`orgRootRank\` enum ('department', 'office', 'division', 'section') NULL COMMENT 'ระดับของหน่วยงาน' DEFAULT 'department', \`orgRootOrder\` int NULL COMMENT 'ลำดับที่ของหน่วยงาน', \`orgRootPhoneEx\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายนอก', \`orgRootPhoneIn\` varchar(64) NULL COMMENT 'หมายเลขโทรศัพท์ที่ติดต่อจากภายใน', \`orgRootFax\` varchar(64) NULL COMMENT 'หมายเลขโทรสาร', \`orgRootIsNormal\` tinyint NULL COMMENT 'สถานะของหน่วยงาน', \`fkOrgRevisionId\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`CREATE TABLE \`orgRevision\` (\`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', \`orgRevisionId\` varchar(40) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', \`orgRevisionName\` varchar(255) NOT NULL DEFAULT 'string', \`orgRevisionIsCurrent\` tinyint NULL, \`orgRevisionCreatedAt\` datetime NULL, \`orgRevisionIsDraft\` tinyint NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_14edc901b52b66455dd4dd482e6\` FOREIGN KEY (\`fkOrgChild3Id\`) REFERENCES \`orgChild3\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_04079b02cf09926cbe3e6409c75\` FOREIGN KEY (\`fkOrgChild2Id\`) REFERENCES \`orgChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE \`orgChild2\` ADD CONSTRAINT \`FK_616f862cd4f4135a33bd240e644\` FOREIGN KEY (\`fkOrgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE \`orgChild1\` ADD CONSTRAINT \`FK_71c1b84ce94a83cf5ee778ef463\` FOREIGN KEY (\`fkOrgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`orgChild1\` DROP FOREIGN KEY \`FK_71c1b84ce94a83cf5ee778ef463\``);
await queryRunner.query(`ALTER TABLE \`orgChild2\` DROP FOREIGN KEY \`FK_616f862cd4f4135a33bd240e644\``);
await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_04079b02cf09926cbe3e6409c75\``);
await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_14edc901b52b66455dd4dd482e6\``);
await queryRunner.query(`DROP TABLE \`orgRevision\``);
await queryRunner.query(`DROP TABLE \`orgRoot\``);
await queryRunner.query(`DROP TABLE \`orgChild1\``);
await queryRunner.query(`DROP TABLE \`orgChild2\``);
await queryRunner.query(`DROP TABLE \`orgChild3\``);
await queryRunner.query(`DROP TABLE \`orgChild4\``);
await queryRunner.query(`DROP TABLE \`entity_base\``);
}
}