From 1d8cc6e13d70215d491a36eb1c116d7980de6cf2 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:01:44 +0700 Subject: [PATCH] feat: create migration for add column type on report-bookmark table --- ...2860855-add-column-type-report-bookmark.ts | 21 +++++++++++++++++++ .../constant/report-bookmark-type.constant.ts | 4 ++-- .../shared/models/report-bookmark.model.ts | 6 +++++- 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 src/database/migrations/1719982860855-add-column-type-report-bookmark.ts diff --git a/src/database/migrations/1719982860855-add-column-type-report-bookmark.ts b/src/database/migrations/1719982860855-add-column-type-report-bookmark.ts new file mode 100644 index 0000000..30129f7 --- /dev/null +++ b/src/database/migrations/1719982860855-add-column-type-report-bookmark.ts @@ -0,0 +1,21 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddColumnTypeReportBookmark1719982860855 + implements MigrationInterface +{ + name = 'AddColumnTypeReportBookmark1719982860855'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TYPE "public"."report_bookmark_type_enum" AS ENUM('TABLE_CONFIG', 'FILTER_TABLE')`, + ); + await queryRunner.query( + `ALTER TABLE "report_bookmark" ADD "type" "public"."report_bookmark_type_enum" NOT NULL DEFAULT 'TABLE_CONFIG'`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "report_bookmark" DROP COLUMN "type"`); + await queryRunner.query(`DROP TYPE "public"."report_bookmark_type_enum"`); + } +} diff --git a/src/modules/reports/shared/constant/report-bookmark-type.constant.ts b/src/modules/reports/shared/constant/report-bookmark-type.constant.ts index 65bb411..4836f37 100644 --- a/src/modules/reports/shared/constant/report-bookmark-type.constant.ts +++ b/src/modules/reports/shared/constant/report-bookmark-type.constant.ts @@ -1,4 +1,4 @@ export enum REPORT_BOOKMARK_TYPE { - table_config = 'table_config', - filter = 'filter', + TABLE_CONFIG = 'TABLE_CONFIG', + FILTER_TABLE = 'FILTER_TABLE', } diff --git a/src/modules/reports/shared/models/report-bookmark.model.ts b/src/modules/reports/shared/models/report-bookmark.model.ts index 10ba726..ffb1c7b 100644 --- a/src/modules/reports/shared/models/report-bookmark.model.ts +++ b/src/modules/reports/shared/models/report-bookmark.model.ts @@ -24,6 +24,10 @@ export class ReportBookmarkModel @Column('json', { nullable: true }) configuration: any; - @Column('varchar') + @Column('enum', { + name: 'type', + enum: REPORT_BOOKMARK_TYPE, + default: REPORT_BOOKMARK_TYPE.TABLE_CONFIG, + }) type: REPORT_BOOKMARK_TYPE; }