diff -u b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php --- b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php +++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php @@ -673,11 +673,11 @@ $table_mapping = $this->getTableMapping(); if ($this->revisionDataTable) { - // Find revisioned fields that are non-entity ID's + // Find revisioned fields that are not entity keys. $fields = array_diff($table_mapping->getFieldNames($this->revisionDataTable), $table_mapping->getFieldNames($this->baseTable)); - // Find fields that are non-revisioned and non ID's. The value of - // data fields are persistent regardless of entity revision. + // Find fields that are not revisioned or entity keys. Data fields have + // the same value regardless of entity revision. $data_fields = array_diff($table_mapping->getFieldNames($this->dataTable), $fields, $table_mapping->getFieldNames($this->baseTable)); if ($data_fields) { $fields = array_merge($fields, $data_fields); diff -u b/core/modules/serialization/src/Tests/EntitySerializationTest.php b/core/modules/serialization/src/Tests/EntitySerializationTest.php --- b/core/modules/serialization/src/Tests/EntitySerializationTest.php +++ b/core/modules/serialization/src/Tests/EntitySerializationTest.php @@ -59,7 +59,6 @@ 'value' => $this->randomMachineName(), 'format' => 'full_html', ), - 'persistent' => 33, ); $this->entity = entity_create('entity_test_mulrev', $this->values); $this->entity->save(); @@ -101,8 +100,8 @@ 'format' => $this->values['field_test_text']['format'], ), ), - 'persistent' => array( - array('value' => $this->values['persistent']), + 'created' => array( + array('value' => $this->entity->created->value), ), ); @@ -156,7 +155,7 @@ 'user_id' => '' . $this->values['user_id'] . '', 'revision_id' => '' . $this->entity->getRevisionId() . '', 'field_test_text' => '' . $this->values['field_test_text']['value'] . '' . $this->values['field_test_text']['format'] . '', - 'persistent' => '' . $this->values['persistent'] . '', + 'created' => '' . $this->entity->created->value . '', ); // Sort it in the same order as normalised. $expected = array_merge($normalized, $expected); diff -u b/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php b/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php --- b/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php +++ b/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php @@ -57,15 +57,14 @@ $entity = entity_create($entity_type, array( 'name' => 'foo', 'user_id' => $this->web_user->id(), - 'persistent' => $this->randomMachineName(32), )); $entity->field_test_text->value = 'bar'; $entity->save(); $names = array(); $texts = array(); + $created = array(); $revision_ids = array(); - $persistent = 0; // Create three revisions. $revision_count = 3; @@ -78,7 +77,7 @@ $entity->setNewRevision(TRUE); $names[] = $entity->name->value = $this->randomMachineName(32); $texts[] = $entity->field_test_text->value = $this->randomMachineName(32); - $persistent = $entity->persistent->value = $i * 2; + $created[] = $entity->created->value = time() + $i + 1; $entity->save(); $revision_ids[] = $entity->revision_id->value; @@ -98,8 +97,8 @@ $this->assertEqual($entity_revision->field_test_text->value, $texts[$i], format_string('%entity_type: Text matches.', array('%entity_type' => $entity_type))); // Check non-revisioned values are loaded. - $this->assertTrue(isset($entity_revision->persistent->value), format_string('%entity_type: Non-revisioned field is loaded.', array('%entity_type' => $entity_type))); - $this->assertEqual($entity_revision->persistent->value, $persistent, format_string('%entity_type: Non-revisioned field value is the same between revisions.', array('%entity_type' => $entity_type))); + $this->assertTrue(isset($entity_revision->created->value), format_string('%entity_type: Non-revisioned field is loaded.', array('%entity_type' => $entity_type))); + $this->assertEqual($entity_revision->created->value, $created[2], format_string('%entity_type: Non-revisioned field value is the same between revisions.', array('%entity_type' => $entity_type))); } // Confirm the correct revision text appears in the edit form. diff -u b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTest.php b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTest.php --- b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTest.php +++ b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTest.php @@ -100,6 +100,10 @@ ->setDescription(t('The bundle of the test entity.')) ->setRequired(TRUE); + $fields['created'] = BaseFieldDefinition::create('created') + ->setLabel(t('Authored on')) + ->setDescription(t('Time the entity was created')); + $fields['user_id'] = BaseFieldDefinition::create('entity_reference') ->setLabel(t('User ID')) ->setDescription(t('The ID of the associated user.')) @@ -120,12 +124,6 @@ ), )); - // Create a non-revisioned field. - $fields['persistent'] = BaseFieldDefinition::create('integer') - ->setLabel(t('Persistent')) - ->setDescription(t('A field that does not have different values between revisions.')) - ->setReadOnly(TRUE); - return $fields; }