Тип, генерирующий странный UUID без версий

#uuid #typeorm

Вопрос:

Я использую это в определении сущности:

 @PrimaryGeneratedColumn('uuid')
Id: string;
 

и получать UUIDs, такие как:

 C17D188A-E91E-EC11-AAF7-0AB75295BBB4
 

С точки зрения первого символа 3 — й группы символов здесь, 'E' — это должен быть UUID v14, — которого не существует? Как TypeORM генерирует UUID?

Комментарии:

1. Все ли они, случайно, v14? Или версия, похоже, меняется с одного UUID на другой? Возможно, проблема с завершением генерации или отображения.

Ответ №1:

Чтобы ответить на этот вопрос, TypeORM использует генератор UUID v4, совместимый с RFC4122, для генерации строки для uuid столбцов типа, как показано здесь.

Независимо от этого, @PrimaryGeneratedColumn('uuid') декоратор сопоставляет столбец с uuid типом поля базы данных, если база данных поддерживает его. Возможно, ваш компонент database engine, скорее всего, не генерирует uuidv4 UUID, соответствующие требованиям.