diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php index 07f7991..b5f4960 100644 --- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php +++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php @@ -320,7 +320,7 @@ public function getTableMapping(array $storage_definitions = NULL) { if ($this->entityType->hasKey('revision_uuid')) { $revision_key_fields[] = $this->entityType->getKey('revision_uuid'); } - $table_mapping->setFieldNames($this->revisionTable, array_merge($revision_key_fields, $revisionable_fields)); + $table_mapping->setFieldNames($this->revisionTable, array_unique(array_merge($revision_key_fields, $revisionable_fields))); } elseif (!$revisionable && $translatable) { // Multilingual layouts store key field values in the base table. The @@ -357,7 +357,7 @@ public function getTableMapping(array $storage_definitions = NULL) { $revision_data_key_fields = array($this->idKey, $this->revisionKey, $this->langcodeKey); $revision_data_fields = array_diff($revisionable_fields, $revision_metadata_fields, array($this->langcodeKey)); - $table_mapping->setFieldNames($this->revisionDataTable, array_merge($revision_data_key_fields, $revision_data_fields)); + $table_mapping->setFieldNames($this->revisionDataTable, array_unique(array_merge($revision_data_key_fields, $revision_data_fields))); } // Add dedicated tables.