You are here

protected function JobScheduleStorageSchema::getEntitySchema in Job Scheduler 8.3

Gets the entity schema for the specified entity type.

Entity types may override this method in order to optimize the generated schema of the entity tables. However, only cross-field optimizations should be added here; e.g., an index spanning multiple fields. Optimizations that apply to a single field have to be added via SqlContentEntityStorageSchema::getSharedTableFieldSchema() instead.

Parameters

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

bool $reset: (optional) If set to TRUE static cache will be ignored and a new schema array generation will be performed. Defaults to FALSE.

Return value

array A Schema API array describing the entity schema, excluding dedicated field tables.

Overrides SqlContentEntityStorageSchema::getEntitySchema

File

src/JobScheduleStorageSchema.php, line 17

Class

JobScheduleStorageSchema
Defines the job schedule schema handler.

Namespace

Drupal\job_scheduler

Code

protected function getEntitySchema(ContentEntityTypeInterface $entity_type, $reset = FALSE) {
  $schema = parent::getEntitySchema($entity_type, $reset);
  if ($data_table = $this->storage
    ->getBaseTable()) {
    $schema[$data_table]['indexes'] += [
      'job_schedule__name_type_id' => [
        'name',
        'type',
        'id',
      ],
      'job_schedule__name_type' => [
        'name',
        'type',
      ],
    ];
  }
  return $schema;
}