From c3950c704145a9384e6e61709d4f13df6572a08c Mon Sep 17 00:00:00 2001 From: shancheas Date: Wed, 21 Aug 2024 20:34:07 +0700 Subject: [PATCH] fix: update demography enum --- ...723716561482-fix-demography-nationality.ts | 6 --- .../1724240624025-add-value-to-demography.ts | 47 +++++++++++++++++++ .../transaction/transaction/constants.ts | 1 + 3 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 src/database/migrations/1724240624025-add-value-to-demography.ts diff --git a/src/database/migrations/1723716561482-fix-demography-nationality.ts b/src/database/migrations/1723716561482-fix-demography-nationality.ts index 8e23f74..9742d91 100644 --- a/src/database/migrations/1723716561482-fix-demography-nationality.ts +++ b/src/database/migrations/1723716561482-fix-demography-nationality.ts @@ -21,9 +21,6 @@ export class FixDemographyNationality1723716561482 await queryRunner.query( `ALTER TABLE "transaction_demographies" DROP CONSTRAINT "FK_a2b705884bca06c148e3b35ab04"`, ); - await queryRunner.query( - `ALTER TABLE "transaction_demographies" ADD CONSTRAINT "UQ_a2b705884bca06c148e3b35ab04" UNIQUE ("transaction_id")`, - ); await queryRunner.query( `ALTER TABLE "transaction_demographies" ADD CONSTRAINT "FK_a2b705884bca06c148e3b35ab04" FOREIGN KEY ("transaction_id") REFERENCES "transactions"("id") ON DELETE CASCADE ON UPDATE CASCADE`, ); @@ -33,9 +30,6 @@ export class FixDemographyNationality1723716561482 await queryRunner.query( `ALTER TABLE "transaction_demographies" DROP CONSTRAINT "FK_a2b705884bca06c148e3b35ab04"`, ); - await queryRunner.query( - `ALTER TABLE "transaction_demographies" DROP CONSTRAINT "UQ_a2b705884bca06c148e3b35ab04"`, - ); await queryRunner.query( `ALTER TABLE "transaction_demographies" ADD CONSTRAINT "FK_a2b705884bca06c148e3b35ab04" FOREIGN KEY ("transaction_id") REFERENCES "transactions"("id") ON DELETE CASCADE ON UPDATE CASCADE`, ); diff --git a/src/database/migrations/1724240624025-add-value-to-demography.ts b/src/database/migrations/1724240624025-add-value-to-demography.ts new file mode 100644 index 0000000..9d80fa2 --- /dev/null +++ b/src/database/migrations/1724240624025-add-value-to-demography.ts @@ -0,0 +1,47 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddValueToDemography1724240624025 implements MigrationInterface { + name = 'AddValueToDemography1724240624025'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TYPE "public"."transaction_demographies_nationality_enum" RENAME TO "transaction_demographies_nationality_enum_old"`, + ); + await queryRunner.query( + `CREATE TYPE "public"."transaction_demographies_nationality_enum" AS ENUM('local', 'foreign', 'mix', 'foreigner')`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_demographies" ALTER COLUMN "nationality" DROP DEFAULT`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_demographies" ALTER COLUMN "nationality" TYPE "public"."transaction_demographies_nationality_enum" USING "nationality"::"text"::"public"."transaction_demographies_nationality_enum"`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_demographies" ALTER COLUMN "nationality" SET DEFAULT 'local'`, + ); + await queryRunner.query( + `DROP TYPE "public"."transaction_demographies_nationality_enum_old"`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TYPE "public"."transaction_demographies_nationality_enum_old" AS ENUM('local', 'foreign', 'mix')`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_demographies" ALTER COLUMN "nationality" DROP DEFAULT`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_demographies" ALTER COLUMN "nationality" TYPE "public"."transaction_demographies_nationality_enum_old" USING "nationality"::"text"::"public"."transaction_demographies_nationality_enum_old"`, + ); + await queryRunner.query( + `ALTER TABLE "transaction_demographies" ALTER COLUMN "nationality" SET DEFAULT 'local'`, + ); + await queryRunner.query( + `DROP TYPE "public"."transaction_demographies_nationality_enum"`, + ); + await queryRunner.query( + `ALTER TYPE "public"."transaction_demographies_nationality_enum_old" RENAME TO "transaction_demographies_nationality_enum"`, + ); + } +} diff --git a/src/modules/transaction/transaction/constants.ts b/src/modules/transaction/transaction/constants.ts index d289f01..e09954f 100644 --- a/src/modules/transaction/transaction/constants.ts +++ b/src/modules/transaction/transaction/constants.ts @@ -34,4 +34,5 @@ export enum DemographyNationality { LOCAL = 'local', FOREIGN = 'foreign', MIX = 'mix', + FOREIGNER = 'foreigner', }