import { MigrationInterface, QueryRunner } from "typeorm";

export class UpdateTableGuidDefultNull21706760094173 implements MigrationInterface {
    name = 'UpdateTableGuidDefultNull21706760094173'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild4Name\` \`orgChild4Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild4ShortName\` \`orgChild4ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild4Code\` \`orgChild4Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild3Name\` \`orgChild3Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild3ShortName\` \`orgChild3ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild3Code\` \`orgChild3Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild2Name\` \`orgChild2Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild2ShortName\` \`orgChild2ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild2Code\` \`orgChild2Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgChild1Name\` \`orgChild1Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgChild1ShortName\` \`orgChild1ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgChild1Code\` \`orgChild1Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootName\` \`orgRootName\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootShortName\` \`orgRootShortName\` varchar(16) NULL COMMENT 'ชื่อย่อหน่วยงาน'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootCode\` \`orgRootCode\` varchar(8) NULL COMMENT 'รหัสหน่วยงาน'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootRank\` \`orgRootRank\` enum ('DEPARTMENT', 'OFFICE', 'DIVISION', 'SECTION') NULL COMMENT 'ระดับของหน่วยงาน'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionName\` \`orgRevisionName\` varchar(255) NULL`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsCurrent\` \`orgRevisionIsCurrent\` tinyint NOT NULL DEFAULT 0`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsDraft\` \`orgRevisionIsDraft\` tinyint NOT NULL DEFAULT 0`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`posMasterNoPrefix\` \`posMasterNoPrefix\` varchar(16) NULL COMMENT 'Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`posMasterNoSuffix\` \`posMasterNoSuffix\` varchar(16) NULL COMMENT 'Suffix หลังเลขที่ตำแหน่ง เช่น ช.'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`profileIdCurrentHolder\` \`profileIdCurrentHolder\` varchar(40) NULL COMMENT 'คนครองปัจจุบัน เมื่อทำสำเนาโครงสร้างและตำแหน่งพร้อมกับคนครองมา คนครองจะอยู่ในฟิลด์นี้'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`profileIdNextHolder\` \`profileIdNextHolder\` varchar(40) NULL COMMENT 'คนที่กำลังจะมาครอง ตอนปรับโครงสร้าง ถ้าเลือกให้ใครมาครอง ProfileId ของคนนั้นจะมาอยู่ในช่องนี้ รวมทั้งตอนเลือกตำแหน่งเพื่อบรรจุ แต่งตั้ง เลื่อน ย้าย ในระบบบรรจุแต่งตั้งด้วย'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictName\` \`posDictName\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictField\` \`posDictField\` varchar(255) NULL COMMENT 'สายงาน'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictExecutiveField\` \`posDictExecutiveField\` varchar(255) NULL COMMENT 'ด้านทางการบริหาร'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictArea\` \`posDictArea\` varchar(255) NULL COMMENT 'ด้าน/สาขา'`);
        await queryRunner.query(`ALTER TABLE \`posExecutive\` CHANGE \`posExecutiveName\` \`posExecutiveName\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งทางการบริหาร'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionName\` \`positionName\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionField\` \`positionField\` varchar(45) NULL COMMENT 'สายงาน'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionExecutiveField\` \`positionExecutiveField\` varchar(255) NULL COMMENT 'ด้านทางการบริหาร'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionArea\` \`positionArea\` varchar(255) NULL COMMENT 'ด้าน/สาขา'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionIsSelected\` \`positionIsSelected\` tinyint NOT NULL COMMENT 'เป็นตำแหน่งที่ถูกเลือกในรอบนั้นๆ หรือไม่?' DEFAULT 0`);
        await queryRunner.query(`ALTER TABLE \`posType\` CHANGE \`posTypeName\` \`posTypeName\` varchar(255) NULL COMMENT 'ชื่อประเภทตำแหน่ง (ทั่วไป วิชาการ อำนวยการ บริหาร)'`);
        await queryRunner.query(`ALTER TABLE \`posLevel\` CHANGE \`posLevelName\` \`posLevelName\` varchar(255) NULL COMMENT 'ชื่อระดับตำแหน่ง'`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE \`posLevel\` CHANGE \`posLevelName\` \`posLevelName\` varchar(255) NULL COMMENT 'ชื่อระดับตำแหน่ง' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posType\` CHANGE \`posTypeName\` \`posTypeName\` varchar(255) NULL COMMENT 'ชื่อประเภทตำแหน่ง (ทั่วไป วิชาการ อำนวยการ บริหาร)' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionIsSelected\` \`positionIsSelected\` tinyint NULL COMMENT 'เป็นตำแหน่งที่ถูกเลือกในรอบนั้นๆ หรือไม่?'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionArea\` \`positionArea\` varchar(255) NULL COMMENT 'ด้าน/สาขา' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionExecutiveField\` \`positionExecutiveField\` varchar(255) NULL COMMENT 'ด้านทางการบริหาร' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionField\` \`positionField\` varchar(45) NULL COMMENT 'สายงาน' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`position\` CHANGE \`positionName\` \`positionName\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posExecutive\` CHANGE \`posExecutiveName\` \`posExecutiveName\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งทางการบริหาร' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictArea\` \`posDictArea\` varchar(255) NULL COMMENT 'ด้าน/สาขา' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictExecutiveField\` \`posDictExecutiveField\` varchar(255) NULL COMMENT 'ด้านทางการบริหาร' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictField\` \`posDictField\` varchar(255) NULL COMMENT 'สายงาน' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posDict\` CHANGE \`posDictName\` \`posDictName\` varchar(255) NULL COMMENT 'ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`profileIdNextHolder\` \`profileIdNextHolder\` varchar(40) NULL COMMENT 'คนที่กำลังจะมาครอง ตอนปรับโครงสร้าง ถ้าเลือกให้ใครมาครอง ProfileId ของคนนั้นจะมาอยู่ในช่องนี้ รวมทั้งตอนเลือกตำแหน่งเพื่อบรรจุ แต่งตั้ง เลื่อน ย้าย ในระบบบรรจุแต่งตั้งด้วย' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`profileIdCurrentHolder\` \`profileIdCurrentHolder\` varchar(40) NULL COMMENT 'คนครองปัจจุบัน เมื่อทำสำเนาโครงสร้างและตำแหน่งพร้อมกับคนครองมา คนครองจะอยู่ในฟิลด์นี้' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`posMasterNoSuffix\` \`posMasterNoSuffix\` varchar(16) NULL COMMENT 'Suffix หลังเลขที่ตำแหน่ง เช่น ช.' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`posMaster\` CHANGE \`posMasterNoPrefix\` \`posMasterNoPrefix\` varchar(16) NULL COMMENT 'Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsDraft\` \`orgRevisionIsDraft\` tinyint NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionIsCurrent\` \`orgRevisionIsCurrent\` tinyint NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE \`orgRevision\` CHANGE \`orgRevisionName\` \`orgRevisionName\` varchar(255) NOT NULL DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootRank\` \`orgRootRank\` enum ('DEPARTMENT', 'OFFICE', 'DIVISION', 'SECTION') NULL COMMENT 'ระดับของหน่วยงาน' DEFAULT 'DEPARTMENT'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootCode\` \`orgRootCode\` varchar(8) NULL COMMENT 'รหัสหน่วยงาน' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootShortName\` \`orgRootShortName\` varchar(16) NULL COMMENT 'ชื่อย่อหน่วยงาน' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgRoot\` CHANGE \`orgRootName\` \`orgRootName\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgChild1Code\` \`orgChild1Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgChild1ShortName\` \`orgChild1ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild1\` CHANGE \`orgChild1Name\` \`orgChild1Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild2Code\` \`orgChild2Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild2ShortName\` \`orgChild2ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild2\` CHANGE \`orgChild2Name\` \`orgChild2Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild3Code\` \`orgChild3Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild3ShortName\` \`orgChild3ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild3\` CHANGE \`orgChild3Name\` \`orgChild3Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild4Code\` \`orgChild4Code\` varchar(8) NULL COMMENT 'รหัสส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild4ShortName\` \`orgChild4ShortName\` varchar(16) NULL COMMENT 'ชื่อย่อส่วนราชการ' DEFAULT 'string'`);
        await queryRunner.query(`ALTER TABLE \`orgChild4\` CHANGE \`orgChild4Name\` \`orgChild4Name\` varchar(255) NULL COMMENT 'ชื่อส่วนราชการ' DEFAULT 'string'`);
    }

}
