在TypeORM中,是否可以为uuid添加表前缀?

5
我在数据库中有许多UUID,它们分布在不同的位置。如果它们包含前缀以表示它们所属的实体类型,如user-09a9c8fb-dcb6-5d18-9697-e1d10c552c14comment-c80c8502-4cd9-483f-9b81-705a22dba3a8,那么可读性将得到显着提高。是否有任何方法纯粹使用TypeORM语法来实现这一点?
以下是我目前的用户模型示例:
import {
  Entity,
  PrimaryGeneratedColumn,
  Column,
  CreateDateColumn,
} from 'typeorm';

@Entity()
export class User {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column({ unique: true })
  username: string;

  @Column()
  email: string;

  @CreateDateColumn()
  createdAt: Date;
}
1个回答

1
const generatePrefixedUUID = (prefix: string = ""): string => {
  return prefix + uuidv4().slice(prefix.length);
};

@PrimaryColumn({
  name: "id",
  unique: true,
})
id: string = generatePrefixedUUID("OR#");

这应该是一个简单的解决方案。
注意:使用PrimaryColumn而不是PrimaryGeneratedColumn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接