import { MigrationInterface, QueryRunner } from "typeorm";

export class Create7table1706845176364 implements MigrationInterface {
    name = 'Create7table1706845176364'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TABLE \`relationship\` (\`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 'สถานภาพ', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
        await queryRunner.query(`CREATE TABLE \`rank\` (\`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 'ยศ', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
        await queryRunner.query(`CREATE TABLE \`religion\` (\`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 'ศาสนา', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
        await queryRunner.query(`CREATE TABLE \`prefixe\` (\`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 'คำนำหน้าชื่อ', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
        await queryRunner.query(`CREATE TABLE \`gender\` (\`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 'เพศ', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
        await queryRunner.query(`CREATE TABLE \`educationLevel\` (\`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 'ระดับการศึกษา', \`rank\` int NULL COMMENT 'ระดับที่', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
        await queryRunner.query(`CREATE TABLE \`bloodGroup\` (\`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 'กรุ๊ปเลือด', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_82aff1cb1e02d1640b5cb384420\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_3848be44d5d26ff438c893c662e\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_4bb600399098cb8596babcc9b12\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_36291e45193793ac8730d5b9ff4\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_cdefa5d1dc0141102324ed4bfc2\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRoot'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild1'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild2Id\` \`orgChild2Id\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild2'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild3Id\` \`orgChild3Id\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild3'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRevision'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL COMMENT 'รหัส DNA ใช้ในกรณีที่มีการทำสำเนาโครงสร้าง โครงสร้างใหม่ที่ทำสำเนากับโครงสร้างเก่าจะต้องมี DNA เดียวกัน เพื่อให้ track ประวัติการแก้ไขโครงสร้างย้อนหลังได้'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_1f1f5214555b0e653c40924c453\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_85c7a51d4ba358817c2187ba0c0\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_abe35eefd8fb2bf682542c57b5e\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_897d37984d8749690da88b538a4\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRoot'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild1'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild2Id\` \`orgChild2Id\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild2'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRevision'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL COMMENT 'รหัส DNA ใช้ในกรณีที่มีการทำสำเนาโครงสร้าง โครงสร้างใหม่ที่ทำสำเนากับโครงสร้างเก่าจะต้องมี DNA เดียวกัน เพื่อให้ track ประวัติการแก้ไขโครงสร้างย้อนหลังได้'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` DROP FOREIGN KEY \`FK_298491a199687ab46c830db5675\``);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` DROP FOREIGN KEY \`FK_b3e512809e7e8dea0a6a1c0d95f\``);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` DROP FOREIGN KEY \`FK_7826c78069b4cdf5b5656460f90\``);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRoot'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild1'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRevision'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL COMMENT 'รหัส DNA ใช้ในกรณีที่มีการทำสำเนาโครงสร้าง โครงสร้างใหม่ที่ทำสำเนากับโครงสร้างเก่าจะต้องมี DNA เดียวกัน เพื่อให้ track ประวัติการแก้ไขโครงสร้างย้อนหลังได้'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` DROP FOREIGN KEY \`FK_9481ca31027bf02594ed533b765\``);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` DROP FOREIGN KEY \`FK_4f53766362a9ee2b19969343513\``);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRoot'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRevision'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL COMMENT 'รหัส DNA ใช้ในกรณีที่มีการทำสำเนาโครงสร้าง โครงสร้างใหม่ที่ทำสำเนากับโครงสร้างเก่าจะต้องมี DNA เดียวกัน เพื่อให้ track ประวัติการแก้ไขโครงสร้างย้อนหลังได้'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` DROP FOREIGN KEY \`FK_b9d787230c285dcd0ba4c63d33b\``);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL COMMENT 'รหัส DNA ใช้ในกรณีที่มีการทำสำเนาโครงสร้าง โครงสร้างใหม่ที่ทำสำเนากับโครงสร้างเก่าจะต้องมี DNA เดียวกัน เพื่อให้ track ประวัติการแก้ไขโครงสร้างย้อนหลังได้'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRevision'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionName\` \`orgRevisionName\` varchar(255) NULL COMMENT 'ชื่อของโครงสร้าง'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsCurrent\` \`orgRevisionIsCurrent\` tinyint NOT NULL COMMENT 'สถานะเป็นโครงสร้างปัจจุบันหรือไม่' DEFAULT 0`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionCreatedAt\` \`orgRevisionCreatedAt\` datetime NULL COMMENT 'วันเวลาที่สร้างโครงสร้าง'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsDraft\` \`orgRevisionIsDraft\` tinyint NOT NULL COMMENT 'สถานะเป็นโครงสร้างแบบร่างหรือไม่' DEFAULT 0`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_7da46fc341b77ebd43f28a8cf47\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_7e3ee4640d067c5563c060e2c6b\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_a0a64249023284376a480fc27ef\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_25526f064b7ea43dd443954646b\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_5d11d2c4513d606c8db997e5e65\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_f601e38caafa049c60b4eac6f06\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRoot'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild1'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild2Id\` \`orgChild2Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild2'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild3Id\` \`orgChild3Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild3'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild4Id\` \`orgChild4Id\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง orgChild4'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง orgRevision'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_cdefa5d1dc0141102324ed4bfc2\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_82aff1cb1e02d1640b5cb384420\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_3848be44d5d26ff438c893c662e\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_4bb600399098cb8596babcc9b12\` FOREIGN KEY (\`orgChild2Id\`) REFERENCES \`orgChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_36291e45193793ac8730d5b9ff4\` FOREIGN KEY (\`orgChild3Id\`) REFERENCES \`orgChild3\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_897d37984d8749690da88b538a4\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_1f1f5214555b0e653c40924c453\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_85c7a51d4ba358817c2187ba0c0\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_abe35eefd8fb2bf682542c57b5e\` FOREIGN KEY (\`orgChild2Id\`) REFERENCES \`orgChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` ADD CONSTRAINT \`FK_7826c78069b4cdf5b5656460f90\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` ADD CONSTRAINT \`FK_298491a199687ab46c830db5675\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` ADD CONSTRAINT \`FK_b3e512809e7e8dea0a6a1c0d95f\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` ADD CONSTRAINT \`FK_4f53766362a9ee2b19969343513\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` ADD CONSTRAINT \`FK_9481ca31027bf02594ed533b765\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` ADD CONSTRAINT \`FK_b9d787230c285dcd0ba4c63d33b\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_f601e38caafa049c60b4eac6f06\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_7da46fc341b77ebd43f28a8cf47\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_7e3ee4640d067c5563c060e2c6b\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_a0a64249023284376a480fc27ef\` FOREIGN KEY (\`orgChild2Id\`) REFERENCES \`orgChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_25526f064b7ea43dd443954646b\` FOREIGN KEY (\`orgChild3Id\`) REFERENCES \`orgChild3\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_5d11d2c4513d606c8db997e5e65\` FOREIGN KEY (\`orgChild4Id\`) REFERENCES \`orgChild4\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_5d11d2c4513d606c8db997e5e65\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_25526f064b7ea43dd443954646b\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_a0a64249023284376a480fc27ef\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_7e3ee4640d067c5563c060e2c6b\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_7da46fc341b77ebd43f28a8cf47\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_f601e38caafa049c60b4eac6f06\``);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` DROP FOREIGN KEY \`FK_b9d787230c285dcd0ba4c63d33b\``);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` DROP FOREIGN KEY \`FK_9481ca31027bf02594ed533b765\``);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` DROP FOREIGN KEY \`FK_4f53766362a9ee2b19969343513\``);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` DROP FOREIGN KEY \`FK_b3e512809e7e8dea0a6a1c0d95f\``);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` DROP FOREIGN KEY \`FK_298491a199687ab46c830db5675\``);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` DROP FOREIGN KEY \`FK_7826c78069b4cdf5b5656460f90\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_abe35eefd8fb2bf682542c57b5e\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_85c7a51d4ba358817c2187ba0c0\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_1f1f5214555b0e653c40924c453\``);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` DROP FOREIGN KEY \`FK_897d37984d8749690da88b538a4\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_36291e45193793ac8730d5b9ff4\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_4bb600399098cb8596babcc9b12\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_3848be44d5d26ff438c893c662e\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_82aff1cb1e02d1640b5cb384420\``);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` DROP FOREIGN KEY \`FK_cdefa5d1dc0141102324ed4bfc2\``);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild4Id\` \`orgChild4Id\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild3Id\` \`orgChild3Id\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild2Id\` \`orgChild2Id\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_f601e38caafa049c60b4eac6f06\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_5d11d2c4513d606c8db997e5e65\` FOREIGN KEY (\`orgChild4Id\`) REFERENCES \`orgChild4\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_25526f064b7ea43dd443954646b\` FOREIGN KEY (\`orgChild3Id\`) REFERENCES \`orgChild3\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_a0a64249023284376a480fc27ef\` FOREIGN KEY (\`orgChild2Id\`) REFERENCES \`orgChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_7e3ee4640d067c5563c060e2c6b\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_7da46fc341b77ebd43f28a8cf47\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsDraft\` \`orgRevisionIsDraft\` tinyint NOT NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionCreatedAt\` \`orgRevisionCreatedAt\` datetime NULL`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsCurrent\` \`orgRevisionIsCurrent\` tinyint NOT NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionName\` \`orgRevisionName\` varchar(255) NULL`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` ADD CONSTRAINT \`FK_b9d787230c285dcd0ba4c63d33b\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` ADD CONSTRAINT \`FK_4f53766362a9ee2b19969343513\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` ADD CONSTRAINT \`FK_9481ca31027bf02594ed533b765\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` ADD CONSTRAINT \`FK_7826c78069b4cdf5b5656460f90\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` ADD CONSTRAINT \`FK_b3e512809e7e8dea0a6a1c0d95f\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` ADD CONSTRAINT \`FK_298491a199687ab46c830db5675\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild2Id\` \`orgChild2Id\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_897d37984d8749690da88b538a4\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_abe35eefd8fb2bf682542c57b5e\` FOREIGN KEY (\`orgChild2Id\`) REFERENCES \`orgChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_85c7a51d4ba358817c2187ba0c0\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` ADD CONSTRAINT \`FK_1f1f5214555b0e653c40924c453\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`ancestorDNA\` \`ancestorDNA\` varchar(40) NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgRevisionId\` \`orgRevisionId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild3Id\` \`orgChild3Id\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild2Id\` \`orgChild2Id\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild1Id\` \`orgChild1Id\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgRootId\` \`orgRootId\` varchar(40) NOT NULL`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_cdefa5d1dc0141102324ed4bfc2\` FOREIGN KEY (\`orgRevisionId\`) REFERENCES \`orgRevision\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_36291e45193793ac8730d5b9ff4\` FOREIGN KEY (\`orgChild3Id\`) REFERENCES \`orgChild3\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_4bb600399098cb8596babcc9b12\` FOREIGN KEY (\`orgChild2Id\`) REFERENCES \`orgChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_3848be44d5d26ff438c893c662e\` FOREIGN KEY (\`orgChild1Id\`) REFERENCES \`orgChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` ADD CONSTRAINT \`FK_82aff1cb1e02d1640b5cb384420\` FOREIGN KEY (\`orgRootId\`) REFERENCES \`orgRoot\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
        await queryRunner.query(`DROP TABLE \`bloodGroup\``);
        await queryRunner.query(`DROP TABLE \`educationLevel\``);
        await queryRunner.query(`DROP TABLE \`gender\``);
        await queryRunner.query(`DROP TABLE \`prefixe\``);
        await queryRunner.query(`DROP TABLE \`religion\``);
        await queryRunner.query(`DROP TABLE \`rank\``);
        await queryRunner.query(`DROP TABLE \`relationship\``);
    }

}
