From 0069c3f491bbd55fb85e574b36efacccb0713d33 Mon Sep 17 00:00:00 2001 From: AdisakKanthawilang Date: Wed, 24 Jan 2024 17:22:41 +0700 Subject: [PATCH] tabel OrgGroup --- src/database/data-source.ts | 6 ++-- src/entities/OrgChild1.ts | 10 +++--- src/entities/OrgChild2.ts | 12 +++---- src/entities/OrgChild3.ts | 14 ++++---- src/entities/OrgChild4.ts | 20 +++++------ src/entities/OrgRoot.ts | 12 +++---- .../1706091448140-add_table_OrgGroup.ts | 34 +++++++++++++++++++ 7 files changed, 71 insertions(+), 37 deletions(-) create mode 100644 src/migration/1706091448140-add_table_OrgGroup.ts diff --git a/src/database/data-source.ts b/src/database/data-source.ts index 37e101c2..ccbc11a6 100644 --- a/src/database/data-source.ts +++ b/src/database/data-source.ts @@ -2,7 +2,7 @@ import "dotenv/config"; import "reflect-metadata"; import { DataSource } from "typeorm"; -export const database = new DataSource({ +const database = new DataSource({ type: "mysql", database: process.env.DB_NAME, host: process.env.DB_HOST, @@ -12,8 +12,8 @@ export const database = new DataSource({ synchronize: true, logging: true, entities: ["src/entities/**/*.ts"], - migrations: ["src/migrations/**/*.ts"], + migrations: ["src/migration/**/*.ts"], subscribers: [], }); -// export default database; +export default database; diff --git a/src/entities/OrgChild1.ts b/src/entities/OrgChild1.ts index 218b6bea..8335ce70 100644 --- a/src/entities/OrgChild1.ts +++ b/src/entities/OrgChild1.ts @@ -12,7 +12,7 @@ enum OrgChild1Rank { DIVISION = "division", SECTION = "section", } - +@Entity("orgChild1") export class OrgChild1 extends EntityBase { // @Column({ // comment: "", @@ -102,11 +102,11 @@ export class OrgChild1 extends EntityBase { @OneToMany(() => OrgChild2, orgChild2 => orgChild2.orgChild1) orgChild2s: OrgChild2[]; - @OneToMany(() => OrgChild3, orgChild3 => orgChild3.orgChild1) - orgChild3s: OrgChild3[]; + // @OneToMany(() => OrgChild3, orgChild3 => orgChild3.orgChild1) + // orgChild3s: OrgChild3[]; - @OneToMany(() => OrgChild4, orgChild4 => orgChild4.orgChild1) - orgChild4s: OrgChild4[]; + // @OneToMany(() => OrgChild4, orgChild4 => orgChild4.orgChild1) + // orgChild4s: OrgChild4[]; } export type UpdateOrgChild1 = Partial; diff --git a/src/entities/OrgChild2.ts b/src/entities/OrgChild2.ts index ce7d2c63..7adeb7b0 100644 --- a/src/entities/OrgChild2.ts +++ b/src/entities/OrgChild2.ts @@ -12,7 +12,7 @@ enum OrgChild2Rank { DIVISION = "division", SECTION = "section", } - +@Entity("orgChild2") export class OrgChild2 extends EntityBase { // @Column({ // comment: "", @@ -100,9 +100,9 @@ export class OrgChild2 extends EntityBase { }) fkOrgChild1Id: string; - @ManyToOne(() => OrgRoot, orgRoot => orgRoot.orgChild2s) - @JoinColumn({ name: "fkOrgRootId" }) - orgRoot: OrgRoot; + // @ManyToOne(() => OrgRoot, orgRoot => orgRoot.orgChild2s) + // @JoinColumn({ name: "fkOrgRootId" }) + // orgRoot: OrgRoot; @ManyToOne(() => OrgChild1, orgChild1 => orgChild1.orgChild2s) @JoinColumn({ name: "fkOrgChild1Id" }) @@ -112,8 +112,8 @@ export class OrgChild2 extends EntityBase { @OneToMany(() => OrgChild3, orgChild3 => orgChild3.orgChild2) orgChild3s: OrgChild3[]; - @OneToMany(() => OrgChild4, orgChild4 => orgChild4.orgChild2) - orgChild4s: OrgChild4[]; + // @OneToMany(() => OrgChild4, orgChild4 => orgChild4.orgChild2) + // orgChild4s: OrgChild4[]; } export type UpdateOrgChild2 = Partial; diff --git a/src/entities/OrgChild3.ts b/src/entities/OrgChild3.ts index 29be5195..8a4847db 100644 --- a/src/entities/OrgChild3.ts +++ b/src/entities/OrgChild3.ts @@ -11,7 +11,7 @@ enum OrgChild3Rank { DIVISION = "division", SECTION = "section", } - +@Entity("orgChild3") export class OrgChild3 extends EntityBase { // @Column({ // comment: "", @@ -105,13 +105,13 @@ export class OrgChild3 extends EntityBase { }) fkOrgChild2Id: string; - @ManyToOne(() => OrgRoot, orgRoot => orgRoot.orgChild3s) - @JoinColumn({ name: "fkOrgRootId" }) - orgRoot: OrgRoot; + // @ManyToOne(() => OrgRoot, orgRoot => orgRoot.orgChild3s) + // @JoinColumn({ name: "fkOrgRootId" }) + // orgRoot: OrgRoot; - @ManyToOne(() => OrgChild1, orgChild1 => orgChild1.orgChild3s) - @JoinColumn({ name: "fkOrgChild1Id" }) - orgChild1: OrgChild1; + // @ManyToOne(() => OrgChild1, orgChild1 => orgChild1.orgChild3s) + // @JoinColumn({ name: "fkOrgChild1Id" }) + // orgChild1: OrgChild1; @ManyToOne(() => OrgChild2, orgChild2 => orgChild2.orgChild3s) @JoinColumn({ name: "fkOrgChild2Id" }) diff --git a/src/entities/OrgChild4.ts b/src/entities/OrgChild4.ts index acf4c8af..147211e1 100644 --- a/src/entities/OrgChild4.ts +++ b/src/entities/OrgChild4.ts @@ -11,7 +11,7 @@ enum OrgChild4Rank { DIVISION = "division", SECTION = "section", } - +@Entity("orgChild4") export class OrgChild4 extends EntityBase { // @Column({ // comment: "", @@ -111,17 +111,17 @@ export class OrgChild4 extends EntityBase { }) fkOrgChild3Id: string; - @ManyToOne(() => OrgRoot, orgRoot => orgRoot.orgChild4s) - @JoinColumn({ name: "fkOrgRootId" }) - orgRoot: OrgRoot; + // @ManyToOne(() => OrgRoot, orgRoot => orgRoot.orgChild4s) + // @JoinColumn({ name: "fkOrgRootId" }) + // orgRoot: OrgRoot; - @ManyToOne(() => OrgChild1, orgChild1 => orgChild1.orgChild4s) - @JoinColumn({ name: "fkOrgChild1Id" }) - orgChild1: OrgChild1; + // @ManyToOne(() => OrgChild1, orgChild1 => orgChild1.orgChild4s) + // @JoinColumn({ name: "fkOrgChild1Id" }) + // orgChild1: OrgChild1; - @ManyToOne(() => OrgChild2, orgChild2 => orgChild2.orgChild4s) - @JoinColumn({ name: "fkOrgChild2Id" }) - orgChild2: OrgChild2; + // @ManyToOne(() => OrgChild2, orgChild2 => orgChild2.orgChild4s) + // @JoinColumn({ name: "fkOrgChild2Id" }) + // orgChild2: OrgChild2; @ManyToOne(() => OrgChild3, orgChild3 => orgChild3.orgChild4s) @JoinColumn({ name: "fkOrgChild3Id" }) diff --git a/src/entities/OrgRoot.ts b/src/entities/OrgRoot.ts index 6c850c24..fcc6e71d 100644 --- a/src/entities/OrgRoot.ts +++ b/src/entities/OrgRoot.ts @@ -99,14 +99,14 @@ export class OrgRoot extends EntityBase { @OneToMany(() => OrgChild1, orgChild1 => orgChild1.orgRoot) orgChild1s: OrgChild1[]; - @OneToMany(() => OrgChild2, orgChild2 => orgChild2.orgRoot) - orgChild2s: OrgChild2[]; + // @OneToMany(() => OrgChild2, orgChild2 => orgChild2.orgRoot) + // orgChild2s: OrgChild2[]; - @OneToMany(() => OrgChild3, orgChild3 => orgChild3.orgRoot) - orgChild3s: OrgChild3[]; + // @OneToMany(() => OrgChild3, orgChild3 => orgChild3.orgRoot) + // orgChild3s: OrgChild3[]; - @OneToMany(() => OrgChild4, orgChild4 => orgChild4.orgRoot) - orgChild4s: OrgChild4[]; + // @OneToMany(() => OrgChild4, orgChild4 => orgChild4.orgRoot) + // orgChild4s: OrgChild4[]; } diff --git a/src/migration/1706091448140-add_table_OrgGroup.ts b/src/migration/1706091448140-add_table_OrgGroup.ts new file mode 100644 index 00000000..e6a574ed --- /dev/null +++ b/src/migration/1706091448140-add_table_OrgGroup.ts @@ -0,0 +1,34 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class AddTableOrgGroup1706091448140 implements MigrationInterface { + name = 'AddTableOrgGroup1706091448140' + + public async up(queryRunner: QueryRunner): Promise { + 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 { + 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\``); + } + +}