diff -u b/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php b/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php --- b/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php @@ -1614,11 +1614,9 @@ $this->database->delete($table_name) ->condition('revision_id', $revision_id) ->execute(); - if ($this->entityType->isRevisionable()) { - $this->database->delete($revision_name) - ->condition('revision_id', $revision_id) - ->execute(); - } + $this->database->delete($revision_name) + ->condition('revision_id', $revision_id) + ->execute(); } /** @@ -1860,7 +1858,7 @@ * A string containing a generated index name for a field data table that is * unique among all other fields. */ - protected static function _fieldIndexName(FieldStorageDefinitionInterface $storage_definition, $index) { + public static function _fieldIndexName(FieldStorageDefinitionInterface $storage_definition, $index) { return $storage_definition->getName() . '_' . $index; } diff -u b/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php b/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php --- b/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php +++ b/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php @@ -87,19 +87,24 @@ foreach ($fields as $field_name) { $field_storage = FieldStorageConfig::loadByName($entity_type, $field_name); - $table = $table_mapping->getDedicatedDataTableName($field_storage); + $tables = array( + $table_mapping->getDedicatedDataTableName($field_storage), + $table_mapping->getDedicatedRevisionTableName($field_storage), + ); - $record = \Drupal::database() - ->select($table, 'f') - ->fields('f') - ->condition('f.entity_id', $id) - ->condition('f.revision_id', $id) - ->execute() - ->fetchObject(); + foreach ($tables as $table) { + $record = \Drupal::database() + ->select($table, 'f') + ->fields('f') + ->condition('f.entity_id', $id) + ->condition('f.revision_id', $id) + ->execute() + ->fetchObject(); - if ($record->langcode != $langcode) { - $status = FALSE; - break; + if ($record->langcode != $langcode) { + $status = FALSE; + break; + } } }