TypeORM 生成奇怪的“无版本”UUID
Posted
技术标签:
【中文标题】TypeORM 生成奇怪的“无版本”UUID【英文标题】:TypeORM generating strange 'versionless' UUID 【发布时间】:2021-11-21 02:59:21 【问题描述】:我在实体定义中使用它:
@PrimaryGeneratedColumn('uuid')
Id: string;
并获得如下 UUID:
C17D188A-E91E-EC11-AAF7-0AB75295BBB4
就这里第 3 组字符的第一个字符而言,'E'
- 这应该是 UUID v14 - 哪个不存在? TypeORM 是如何生成 UUID 的?
【问题讨论】:
它们都是v14吗?还是版本似乎从一个 UUID 更改为另一个?可能是生成或显示的字节顺序问题。 【参考方案1】:为了回答这个问题,TypeORM 利用符合 RFC4122 的 UUID v4 生成器为uuid
-type 列生成字符串as seen here。
无论如何,如果数据库支持,@PrimaryGeneratedColumn('uuid')
装饰器会将列映射到 uuid
数据库字段类型。可能是您的数据库引擎很可能没有生成符合 uuidv4
的 UUID。
【讨论】:
以上是关于TypeORM 生成奇怪的“无版本”UUID的主要内容,如果未能解决你的问题,请参考以下文章
NestJS + TypeORM 中的 JoinTable 问题
TypeORM 不会在由 TypeORM 创建的项目中生成迁移
typeORM 未发现数据库架构更改 - 无法生成迁移。要创建新的空迁移,请使用“typeorm migration:create”命令