ff-admin-server/src/migrations/1735822722235-internalId.ts

47 lines
1.5 KiB
TypeScript

import { MigrationInterface, QueryRunner, TableColumn } from "typeorm";
import { membership } from "../entity/club/member/membership";
import { member } from "../entity/club/member/member";
export class InternalId1735822722235 implements MigrationInterface {
name = "InternalId1735822722235";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.addColumn(
"member",
new TableColumn({
name: "internalId",
type: "varchar",
length: "255",
default: null,
isNullable: true,
isUnique: true,
})
);
// let memberships = await queryRunner.manager.getRepository(membership).find();
// console.log(memberships);
// let internalIds = memberships.reduce<{ [key: number]: Array<string> }>((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);
// }
// }
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.dropColumn("member", "internalId");
}
}