From 632a8290ace27aaf85fe3d0aa74a5ab8c010dbc6 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Fri, 10 Jan 2025 12:06:24 +0100 Subject: [PATCH] wrapping up: membership id transfer --- src/data-source.ts | 2 + src/entity/club/member/membership.ts | 6 --- src/migrations/1735822722235-internalId.ts | 40 +++++++++---------- .../1736505324488-finishInternalIdTransfer.ts | 23 +++++++++++ 4 files changed, 45 insertions(+), 26 deletions(-) create mode 100644 src/migrations/1736505324488-finishInternalIdTransfer.ts diff --git a/src/data-source.ts b/src/data-source.ts index 6810a53..4c4a424 100644 --- a/src/data-source.ts +++ b/src/data-source.ts @@ -66,6 +66,7 @@ import { PostalCode1735927918979 } from "./migrations/1735927918979-postalCode"; import { ProtocolAbsent1736072179716 } from "./migrations/1736072179716-protocolAbsent"; import { Memberlist1736079005086 } from "./migrations/1736079005086-memberlist"; import { ExtendViewValues1736084198860 } from "./migrations/1736084198860-extendViewValues"; +import { FinishInternalIdTransfer1736505324488 } from "./migrations/1736505324488-finishInternalIdTransfer"; const dataSource = new DataSource({ type: DB_TYPE as any, @@ -142,6 +143,7 @@ const dataSource = new DataSource({ ProtocolAbsent1736072179716, Memberlist1736079005086, ExtendViewValues1736084198860, + FinishInternalIdTransfer1736505324488, ], migrationsRun: true, migrationsTransactionMode: "each", diff --git a/src/entity/club/member/membership.ts b/src/entity/club/member/membership.ts index 9ed2e3a..aa14f27 100644 --- a/src/entity/club/member/membership.ts +++ b/src/entity/club/member/membership.ts @@ -7,12 +7,6 @@ export class membership { @PrimaryColumn({ generated: "increment", type: "int" }) id: number; - /** - * @deprecated - */ - @Column({ type: "varchar", length: 255, unique: true, nullable: true }) - internalId?: string; - @Column({ type: "date" }) start: Date; diff --git a/src/migrations/1735822722235-internalId.ts b/src/migrations/1735822722235-internalId.ts index 02063a2..9468b61 100644 --- a/src/migrations/1735822722235-internalId.ts +++ b/src/migrations/1735822722235-internalId.ts @@ -18,27 +18,27 @@ export class InternalId1735822722235 implements MigrationInterface { }) ); - let memberships = await queryRunner.manager.getRepository(membership).find(); - console.log(memberships); - let internalIds = memberships.reduce<{ [key: number]: Array }>((acc, cur) => { - let memberId = cur.memberId; - let setIds = acc[memberId] ?? []; - if (cur?.internalId) { - setIds.push(cur.internalId); - } - acc[memberId] = setIds; - return acc; - }, {}); + // let memberships = await queryRunner.manager.getRepository(membership).find(); + // console.log(memberships); + // let internalIds = memberships.reduce<{ [key: number]: Array }>((acc, cur) => { + // let memberId = cur.memberId; + // let setIds = acc[memberId] ?? []; + // if (cur?.internalId) { + // setIds.push(cur.internalId); + // } + // acc[memberId] = setIds; + // return acc; + // }, {}); - console.log(internalIds); - for (const [id, value] of Object.entries(internalIds)) { - const ids = value.filter((v) => v != null).join(", "); - if (ids) { - let m = await queryRunner.manager.getRepository(member).findOneByOrFail({ id: parseInt(id) }); - m.internalId = ids; - await queryRunner.manager.getRepository(member).save(m); - } - } + // console.log(internalIds); + // for (const [id, value] of Object.entries(internalIds)) { + // const ids = value.filter((v) => v != null).join(", "); + // if (ids) { + // let m = await queryRunner.manager.getRepository(member).findOneByOrFail({ id: parseInt(id) }); + // m.internalId = ids; + // await queryRunner.manager.getRepository(member).save(m); + // } + // } } public async down(queryRunner: QueryRunner): Promise { diff --git a/src/migrations/1736505324488-finishInternalIdTransfer.ts b/src/migrations/1736505324488-finishInternalIdTransfer.ts new file mode 100644 index 0000000..3c51c94 --- /dev/null +++ b/src/migrations/1736505324488-finishInternalIdTransfer.ts @@ -0,0 +1,23 @@ +import { MigrationInterface, QueryRunner, TableColumn } from "typeorm"; + +export class FinishInternalIdTransfer1736505324488 implements MigrationInterface { + name = "FinishInternalIdTransfer1736505324488"; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.dropColumn("membership", "internalId"); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.addColumn( + "membership", + new TableColumn({ + name: "internalId", + type: "varchar", + length: "255", + default: null, + isNullable: true, + isUnique: true, + }) + ); + } +}