TypeORM,如何创建带有前缀的 PrimaryGeneratedColumn

TypeORM, How to create PrimaryGeneratedColumn with a prefix

我正在使用 TypeORM 并希望将 PrimaryGeneratedColumn 创建为带有前缀的 zerofill 值,例如 PR000001、PR000002 等等。我怎样才能得到它? 现在我找到了 EntityListeners,所以我可以创建一个常规的 PrimaryGeneratedColumn 并添加带前缀的 zerofill 值 onInstert、onUpdate 等等,但这看起来不是一个好的解决方案。

如果有人好奇,我找到了一个 hacky-solution

@EventSubscriber()
export class MyEntitySubscriber implements EntitySubscriberInterface {

    public afterInsert(event: InsertEvent<any>) {
        const repo = event.manager.connection.getRepository(MyEntity);
        event.entity.prefixedId = `PR${zerofill(6, event.entity.id)}`;
        repo.save(event.entity);
    }

}

另外,相关票证https://github.com/typeorm/typeorm/issues/1571