function SqlContentEntityStorageSchema::initializeRevisionDataTable

Same name in other branches
  1. 9 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema::initializeRevisionDataTable()
  2. 10 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema::initializeRevisionDataTable()
  3. 11.x core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema::initializeRevisionDataTable()

Initializes common information for a revision data table.

Parameters

\Drupal\Core\Entity\ContentEntityTypeInterface $entity_type: The entity type.

Return value

array A partial schema array for the revision data table.

1 call to SqlContentEntityStorageSchema::initializeRevisionDataTable()
SqlContentEntityStorageSchema::getEntitySchema in core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php
Gets the entity schema for the specified entity type.

File

core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php, line 1420

Class

SqlContentEntityStorageSchema
Defines a schema handler that supports revisionable, translatable entities.

Namespace

Drupal\Core\Entity\Sql

Code

protected function initializeRevisionDataTable(ContentEntityTypeInterface $entity_type) {
    $entity_type_id = $entity_type->id();
    $id_key = $entity_type->getKey('id');
    $revision_key = $entity_type->getKey('revision');
    $schema = [
        'description' => "The revision data table for {$entity_type_id} entities.",
        'primary key' => [
            $revision_key,
            $entity_type->getKey('langcode'),
        ],
        'indexes' => [
            $entity_type_id . '__id__default_langcode__langcode' => [
                $id_key,
                $entity_type->getKey('default_langcode'),
                $entity_type->getKey('langcode'),
            ],
        ],
        'foreign keys' => [
            $entity_type_id => [
                'table' => $this->storage
                    ->getBaseTable(),
                'columns' => [
                    $id_key => $id_key,
                ],
            ],
            $entity_type_id . '__revision' => [
                'table' => $this->storage
                    ->getRevisionTable(),
                'columns' => [
                    $revision_key => $revision_key,
                ],
            ],
        ],
    ];
    $this->addTableDefaults($schema);
    return $schema;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.