Как я могу использовать API UUID?


Я знаю, что этот вопрос (почти) дублирует следующий вопрос #21991, который был опубликован еще в 2012 году. Но этот вопрос НЕ связан с Drupal 8, где UUID находится в ядре.

Ссылки:

В документации по базовому модулю Drupal 8 не указан UUID.

Интересно, смогу ли я использовать основной UUID Drupal 8 модуль для переноса и сопоставления реляционных данных, импортированных из другой среды, которая имеет уникальные ключи, сгенерированные Firebase.

Обновление:

Было любезно указано, что UUID не является модулем.

Похоже, что он делает записи UUID по умолчанию для сущностей (иначе называемых узлами) и, по-видимому, может использоваться для сопоставления ссылок на сущности.

Могу ли я использовать это при вводе внешних данных, которые уже имеют уникальные идентификаторы? Таким образом, у меня есть идентификаторы "узла" и я могу сопоставить их с UUIDs?

Обновление на основе дальнейших комментариев:

Цель состоит в том, чтобы использовать UUID с сущностями и модулем REST. Соответственно, представляется разумным сделать это при импорте внешних реляционных данных, которые уже имеют уникальные идентификаторы.

Я просто пытаюсь понять, как работает UUID, что он может делать, а что нет, как я могу генерировать и проверять UUID, о чем мне нужно знать, если я введу внешние идентификаторы.

Author: Community, 2015-04-04

2 answers

Я предполагаю, что вы хотите знать, как сгенерировать UUID в Drupal 8, потому что на самом деле вы больше ничего не можете сделать;)

Все сущности автоматически имеют идентификатор UUID, поэтому, если вы храните свои данные как объект конфигурации или содержимого, вам просто нужно определить ключ сущности uuid.

Чтобы самостоятельно сгенерировать UUID, вам понадобится служба uuid:

$uuid = \Drupal::service('uuid');
$uuid->generate();
$uuid->isValid($uuid_to_validate);
 10
Author: Berdir, 2015-04-04 07:15:30

Для генерации uuid с помощью drush:

drush php-eval "echo \Drupal::service('uuid')->generate();"
 3
Author: echo, 2020-04-29 10:07:24