diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php index 82e629b..00389b3 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php @@ -48,7 +48,9 @@ public static function schema(FieldStorageDefinitionInterface $field_definition) if (!$field_definition->isRevisionable()) { $schema['unique keys']['value'] = array('value'); } - $schema['columns']['value']['initial_from_field'] = 'UUID()'; + else { + $schema['columns']['value']['initial_from_field'] = 'UUID()'; + } return $schema; } diff --git a/core/modules/block_content/block_content.install b/core/modules/block_content/block_content.install index 4279cde..e259f48 100644 --- a/core/modules/block_content/block_content.install +++ b/core/modules/block_content/block_content.install @@ -6,6 +6,7 @@ */ use Drupal\Core\Field\BaseFieldDefinition; +use Drupal\Core\StringTranslation\TranslatableMarkup; /** * Add 'revision_translation_affected' field to 'block_content' entities. @@ -61,3 +62,14 @@ function block_content_update_8003() { \Drupal::entityDefinitionUpdateManager() ->installFieldStorageDefinition('revision_user', 'block_content', 'block_content', $revision_user); } + +/** + * Install revision_uuid base field. + */ +function block_content_update_8300() { + $revision_uuid = BaseFieldDefinition::create('uuid') + ->setLabel(new TranslatableMarkup('Revision UUID')) + ->setRevisionable(TRUE) + ->setReadOnly(TRUE); + \Drupal::entityDefinitionUpdateManager()->installFieldStorageDefinition('revision_uuid', 'block_content', 'block_content', $revision_uuid); +} diff --git a/core/modules/node/node.install b/core/modules/node/node.install index 720a7e0..6e05700 100644 --- a/core/modules/node/node.install +++ b/core/modules/node/node.install @@ -7,6 +7,7 @@ use Drupal\Core\Database\Database; use Drupal\Core\Field\BaseFieldDefinition; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\user\RoleInterface; /** @@ -234,3 +235,14 @@ function node_update_8300() { 'size' => 'tiny', ]); } + +/** + * Install revision_uuid base field. + */ +function node_update_8301() { + $revision_uuid = BaseFieldDefinition::create('uuid') + ->setLabel(new TranslatableMarkup('Revision UUID')) + ->setRevisionable(TRUE) + ->setReadOnly(TRUE); + \Drupal::entityDefinitionUpdateManager()->installFieldStorageDefinition('revision_uuid', 'node', 'node', $revision_uuid); +} diff --git a/core/modules/system/system.install b/core/modules/system/system.install index 727570d..6457c2d 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -1794,36 +1794,3 @@ function system_update_8203() { /** * @} End of "addtogroup updates-8.2.3". */ - -/** - * @addtogroup updates-8.3.0 - * @{ - */ - - /** - * Install new revision_uuid schema. - */ -function system_update_8300() { - $revision_uuid = BaseFieldDefinition::create('uuid') - ->setLabel(new TranslatableMarkup('Revision UUID')) - ->setRevisionable(TRUE) - ->setReadOnly(TRUE); - foreach (\Drupal::entityTypeManager()->getDefinitions() as $entity_type_id => $entity_type) { - /** @var \Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface $manager */ - $manager = \Drupal::entityDefinitionUpdateManager(); - - // Install the new revision_uuid field. - if ($entity_type->hasKey('revision_uuid')) { - $manager->installFieldStorageDefinition($entity_type->getKey('revision_uuid'), $entity_type_id, $entity_type->getProvider(), $revision_uuid); - } - - // Update the existing uuid field which has a new schema. - if ($entity_type->hasKey('uuid') && $definition = $manager->getFieldStorageDefinition('uuid', $entity_type_id)) { - $manager->updateFieldStorageDefinition($definition); - } - } -} - -/** - * @} End of "addtogroup updates-8.3.0". - */