feat: add-account-details

This commit is contained in:
Abdalhamid Alhamad
2025-07-31 14:07:01 +03:00
parent a245545811
commit 7e63abb2fb
9 changed files with 94 additions and 8 deletions
@@ -0,0 +1,32 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class AddAccountNumberAndIbanToAccountEntity1753948642040 implements MigrationInterface {
name = 'AddAccountNumberAndIbanToAccountEntity1753948642040';
public async up(queryRunner: QueryRunner): Promise<void> {
// Step 1: Add columns as nullable
await queryRunner.query(`ALTER TABLE "accounts" ADD "account_number" character varying(255)`);
await queryRunner.query(`ALTER TABLE "accounts" ADD "iban" character varying(255)`);
// Step 2: Populate dummy values or correct ones
await queryRunner.query(`
UPDATE "accounts"
SET "account_number" = 'TEMP_ACC_' || id,
"iban" = 'TEMP_IBAN_' || id
`);
// Step 3: Alter columns to be NOT NULL
await queryRunner.query(`ALTER TABLE "accounts" ALTER COLUMN "account_number" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "accounts" ALTER COLUMN "iban" SET NOT NULL`);
// Step 4: Add unique indexes
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ffd1ae96513bfb2c6eada0f7d3" ON "accounts" ("account_number")`);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_9a4b004902294416b096e7556e" ON "accounts" ("iban")`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_9a4b004902294416b096e7556e"`);
await queryRunner.query(`DROP INDEX "public"."IDX_ffd1ae96513bfb2c6eada0f7d3"`);
await queryRunner.query(`ALTER TABLE "accounts" DROP COLUMN "iban"`);
await queryRunner.query(`ALTER TABLE "accounts" DROP COLUMN "account_number"`);
}
}
+3 -2
View File
@@ -1,5 +1,6 @@
export * from './1753869637732-seed-default-avatar';
export * from './1733750228289-initial-migration';
export * from './1733990253208-seeds-default-tasks-logo';
export * from './1734247702310-seeds-goals-categories';
export * from './1733750228289-initial-migration';
export * from './1753869637732-seed-default-avatar';
export * from './1753874205042-add-neoleap-related-entities';
export * from './1753948642040-add-account-number-and-iban-to-account-entity';