diff --git a/src/migration/1718080059633-update_table_Profileemp_add_role.ts b/src/migration/1718080059633-update_table_Profileemp_add_role.ts new file mode 100644 index 00000000..844ed916 --- /dev/null +++ b/src/migration/1718080059633-update_table_Profileemp_add_role.ts @@ -0,0 +1,22 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableProfileempAddRole1718080059633 implements MigrationInterface { + name = 'UpdateTableProfileempAddRole1718080059633' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`CREATE TABLE \`AuthRole\` (\`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', \`roleName\` varchar(255) NULL COMMENT 'ชื่อบทบาท', \`roleDescription\` varchar(255) NULL COMMENT 'รายละเอียด', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); + await queryRunner.query(`CREATE TABLE \`AuthRoleAttr\` (\`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', \`attrOwnership\` varchar(255) NULL, \`attrIsCreate\` tinyint NOT NULL DEFAULT 0, \`attrIsList\` tinyint NOT NULL DEFAULT 0, \`attrIsGet\` tinyint NOT NULL DEFAULT 0, \`attrIsUpdate\` tinyint NOT NULL DEFAULT 0, \`attrIsDelete\` tinyint NOT NULL DEFAULT 0, \`attrPrivilege\` varchar(255) NULL, \`authRoleId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง AuthRole', \`authSysId\` varchar(255) NULL COMMENT 'คีย์นอก(FK)ของตาราง AuthSys', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); + await queryRunner.query(`CREATE TABLE \`AuthSys\` (\`id\` varchar(255) NOT NULL COMMENT 'ไอดีหลักของตาราง', \`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', \`sysName\` varchar(255) NULL COMMENT 'ชื่อระบบ', \`sysDescription\` varchar(255) NULL COMMENT 'รายละเอียด', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); + await queryRunner.query(`ALTER TABLE \`AuthRoleAttr\` ADD CONSTRAINT \`FK_11aa85dc9e4d0cf790bdde5613e\` FOREIGN KEY (\`authSysId\`) REFERENCES \`AuthSys\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE \`AuthRoleAttr\` ADD CONSTRAINT \`FK_71e41aa6a8400ba965ee323489d\` FOREIGN KEY (\`authRoleId\`) REFERENCES \`AuthRole\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`AuthRoleAttr\` DROP FOREIGN KEY \`FK_71e41aa6a8400ba965ee323489d\``); + await queryRunner.query(`ALTER TABLE \`AuthRoleAttr\` DROP FOREIGN KEY \`FK_11aa85dc9e4d0cf790bdde5613e\``); + await queryRunner.query(`DROP TABLE \`AuthSys\``); + await queryRunner.query(`DROP TABLE \`AuthRoleAttr\``); + await queryRunner.query(`DROP TABLE \`AuthRole\``); + } + +}