import { MigrationInterface, QueryRunner } from "typeorm"; export class AddTableProfile31707207718721 implements MigrationInterface { name = 'AddTableProfile31707207718721' public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_d15696d0e541ead772db817b36a\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_dca00872043f09a74af1d5172f3\``); await queryRunner.query(`DROP INDEX \`FK_1acc4ba5b4af308f0d8a1b7b249\` ON \`posMaster\``); await queryRunner.query(`DROP INDEX \`FK_9d29f52dcf499db3a5e8209b6dc\` ON \`posMaster\``); await queryRunner.query(`DROP INDEX \`IDX_d15696d0e541ead772db817b36\` ON \`posMaster\``); await queryRunner.query(`DROP INDEX \`IDX_dca00872043f09a74af1d5172f\` ON \`posMaster\``); await queryRunner.query(`DROP INDEX \`REL_d15696d0e541ead772db817b36\` ON \`posMaster\``); await queryRunner.query(`DROP INDEX \`REL_dca00872043f09a74af1d5172f\` ON \`posMaster\``); await queryRunner.query(`DROP INDEX \`IDX_49d2dcf6c8bd789ca99df7dc0d\` ON \`profile\``); await queryRunner.query(`DROP INDEX \`IDX_b5bfc34771c02a8078b9bf8944\` ON \`profile\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP COLUMN \`currentHolderId\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP COLUMN \`nextHolderId\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP COLUMN \`profileIdCurrentHolder\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP COLUMN \`profileIdNextHolder\``); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD \`current_holderId\` varchar(40) NULL COMMENT 'คนครองปัจจุบัน เมื่อทำสำเนาโครงสร้างและตำแหน่งพร้อมกับคนครองมา คนครองจะอยู่ในฟิลด์นี้'`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD UNIQUE INDEX \`IDX_9f765a0fef405dfafbd1b5f6c0\` (\`current_holderId\`)`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD \`next_holderId\` varchar(40) NULL COMMENT 'คนที่กำลังจะมาครอง ตอนปรับโครงสร้าง ถ้าเลือกให้ใครมาครอง ProfileId ของคนนั้นจะมาอยู่ในช่องนี้ รวมทั้งตอนเลือกตำแหน่งเพื่อบรรจุ แต่งตั้ง เลื่อน ย้าย ในระบบบรรจุแต่งตั้งด้วย'`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD UNIQUE INDEX \`IDX_22499e79738c6873fc7ede3f6d\` (\`next_holderId\`)`); await queryRunner.query(`CREATE UNIQUE INDEX \`REL_9f765a0fef405dfafbd1b5f6c0\` ON \`posMaster\` (\`current_holderId\`)`); await queryRunner.query(`CREATE UNIQUE INDEX \`REL_22499e79738c6873fc7ede3f6d\` ON \`posMaster\` (\`next_holderId\`)`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_9f765a0fef405dfafbd1b5f6c0a\` FOREIGN KEY (\`current_holderId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_22499e79738c6873fc7ede3f6dd\` FOREIGN KEY (\`next_holderId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_22499e79738c6873fc7ede3f6dd\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP FOREIGN KEY \`FK_9f765a0fef405dfafbd1b5f6c0a\``); await queryRunner.query(`DROP INDEX \`REL_22499e79738c6873fc7ede3f6d\` ON \`posMaster\``); await queryRunner.query(`DROP INDEX \`REL_9f765a0fef405dfafbd1b5f6c0\` ON \`posMaster\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP INDEX \`IDX_22499e79738c6873fc7ede3f6d\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP COLUMN \`next_holderId\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP INDEX \`IDX_9f765a0fef405dfafbd1b5f6c0\``); await queryRunner.query(`ALTER TABLE \`posMaster\` DROP COLUMN \`current_holderId\``); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD \`profileIdNextHolder\` varchar(40) NULL COMMENT 'คนที่กำลังจะมาครอง ตอนปรับโครงสร้าง ถ้าเลือกให้ใครมาครอง ProfileId ของคนนั้นจะมาอยู่ในช่องนี้ รวมทั้งตอนเลือกตำแหน่งเพื่อบรรจุ แต่งตั้ง เลื่อน ย้าย ในระบบบรรจุแต่งตั้งด้วย'`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD \`profileIdCurrentHolder\` varchar(40) NULL COMMENT 'คนครองปัจจุบัน เมื่อทำสำเนาโครงสร้างและตำแหน่งพร้อมกับคนครองมา คนครองจะอยู่ในฟิลด์นี้'`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD \`nextHolderId\` varchar(36) NULL`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD \`currentHolderId\` varchar(36) NULL`); await queryRunner.query(`CREATE UNIQUE INDEX \`IDX_b5bfc34771c02a8078b9bf8944\` ON \`profile\` (\`currentHolderId\`)`); await queryRunner.query(`CREATE UNIQUE INDEX \`IDX_49d2dcf6c8bd789ca99df7dc0d\` ON \`profile\` (\`nextHolderId\`)`); await queryRunner.query(`CREATE UNIQUE INDEX \`REL_dca00872043f09a74af1d5172f\` ON \`posMaster\` (\`currentHolderId\`)`); await queryRunner.query(`CREATE UNIQUE INDEX \`REL_d15696d0e541ead772db817b36\` ON \`posMaster\` (\`nextHolderId\`)`); await queryRunner.query(`CREATE UNIQUE INDEX \`IDX_dca00872043f09a74af1d5172f\` ON \`posMaster\` (\`currentHolderId\`)`); await queryRunner.query(`CREATE UNIQUE INDEX \`IDX_d15696d0e541ead772db817b36\` ON \`posMaster\` (\`nextHolderId\`)`); await queryRunner.query(`CREATE INDEX \`FK_9d29f52dcf499db3a5e8209b6dc\` ON \`posMaster\` (\`profileIdNextHolder\`)`); await queryRunner.query(`CREATE INDEX \`FK_1acc4ba5b4af308f0d8a1b7b249\` ON \`posMaster\` (\`profileIdCurrentHolder\`)`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_dca00872043f09a74af1d5172f3\` FOREIGN KEY (\`currentHolderId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE \`posMaster\` ADD CONSTRAINT \`FK_d15696d0e541ead772db817b36a\` FOREIGN KEY (\`nextHolderId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); } }