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;
}