annotate core/modules/content_moderation/src/ContentModerationStateStorageSchema.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children a9cd425dd02b
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\content_moderation;
Chris@0 4
Chris@0 5 use Drupal\Core\Entity\ContentEntityTypeInterface;
Chris@0 6 use Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * Defines the content moderation state schema handler.
Chris@0 10 */
Chris@0 11 class ContentModerationStateStorageSchema extends SqlContentEntityStorageSchema {
Chris@0 12
Chris@0 13 /**
Chris@0 14 * {@inheritdoc}
Chris@0 15 */
Chris@0 16 protected function getEntitySchema(ContentEntityTypeInterface $entity_type, $reset = FALSE) {
Chris@0 17 $schema = parent::getEntitySchema($entity_type, $reset);
Chris@0 18
Chris@0 19 // Creates unique keys to guarantee the integrity of the entity and to make
Chris@0 20 // the lookup in ModerationStateFieldItemList::getModerationState() fast.
Chris@0 21 $unique_keys = [
Chris@0 22 'content_entity_type_id',
Chris@0 23 'content_entity_id',
Chris@0 24 'content_entity_revision_id',
Chris@0 25 'workflow',
Chris@0 26 'langcode',
Chris@0 27 ];
Chris@0 28 $schema['content_moderation_state_field_data']['unique keys'] += [
Chris@0 29 'content_moderation_state__lookup' => $unique_keys,
Chris@0 30 ];
Chris@0 31 $schema['content_moderation_state_field_revision']['unique keys'] += [
Chris@0 32 'content_moderation_state__lookup' => $unique_keys,
Chris@0 33 ];
Chris@0 34
Chris@0 35 return $schema;
Chris@0 36 }
Chris@0 37
Chris@0 38 }