From 655229ddbde955bce43085e44e80678bf4422259 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:53:09 +0700 Subject: [PATCH] feat: setup migration table report --- package.json | 5 ++-- .../1719298201894-init-table-report.ts | 25 +++++++++++++++++++ src/database/ormconfig.ts | 5 +++- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/database/migrations/1719298201894-init-table-report.ts diff --git a/package.json b/package.json index 19790f1..6aaad51 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "seed:config": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-ormconfig.ts config", "seed:run": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-ormconfig.ts seed", "factory:config": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-data-ormconfig.ts config", - "factory:run": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-data-ormconfig.ts seed" + "factory:run": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-data-ormconfig.ts seed", + "db:generate": "npm run orm migration:generate" }, "dependencies": { "@faker-js/faker": "^8.4.1", @@ -89,4 +90,4 @@ "coverageDirectory": "../coverage", "testEnvironment": "node" } -} +} \ No newline at end of file diff --git a/src/database/migrations/1719298201894-init-table-report.ts b/src/database/migrations/1719298201894-init-table-report.ts new file mode 100644 index 0000000..7d33f63 --- /dev/null +++ b/src/database/migrations/1719298201894-init-table-report.ts @@ -0,0 +1,25 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class InitTableReport1719298201894 implements MigrationInterface { + name = 'InitTableReport1719298201894'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE "report_bookmark" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "creator_id" character varying(36), "creator_name" character varying(125), "editor_id" character varying(36), "editor_name" character varying(125), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "group_name" character varying NOT NULL, "unique_name" character varying NOT NULL, "label" character varying NOT NULL, "applied" boolean DEFAULT false, "configuration" json, CONSTRAINT "PK_d72aa68a7ee505edf4f3e156946" PRIMARY KEY ("id"))`, + ); + await queryRunner.query( + `CREATE TYPE "public"."export_report_history_status_enum" AS ENUM('processing', 'done', 'failed', 'cancel')`, + ); + await queryRunner.query( + `CREATE TABLE "export_report_history" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "creator_id" character varying(36), "creator_name" character varying(125), "editor_id" character varying(36), "editor_name" character varying(125), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "group_name" character varying NOT NULL, "unique_name" character varying NOT NULL, "label" character varying NOT NULL, "file_name" character varying NOT NULL, "file_url" character varying, "total_data" integer NOT NULL DEFAULT '0', "processing_data" integer NOT NULL DEFAULT '0', "status" "public"."export_report_history_status_enum", "last_process_offset" integer NOT NULL DEFAULT '0', "last_process_limit" integer NOT NULL DEFAULT '0', "total_resume" integer NOT NULL DEFAULT '0', "last_resume_created_at" bigint, "query_export" character varying, "canceled_at" bigint, CONSTRAINT "PK_07a632c94dca0728ad1b51ed65c" PRIMARY KEY ("id"))`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE "export_report_history"`); + await queryRunner.query( + `DROP TYPE "public"."export_report_history_status_enum"`, + ); + await queryRunner.query(`DROP TABLE "report_bookmark"`); + } +} diff --git a/src/database/ormconfig.ts b/src/database/ormconfig.ts index e0dadf5..31c172a 100644 --- a/src/database/ormconfig.ts +++ b/src/database/ormconfig.ts @@ -9,7 +9,10 @@ export const connectionSource = new DataSource({ username: process.env.DEFAULT_DB_USER, password: process.env.DEFAULT_DB_PASS, database: process.env.DEFAULT_DB_NAME, - entities: ['src/modules/**/**/data/models/*.ts'], + entities: [ + 'src/modules/**/**/data/models/*.ts', + 'src/modules/reports/shared/models/*.ts', + ], migrationsTableName: 'migrations', migrations: ['src/database/migrations/*.ts'], synchronize: false,