id() == 'contact_message') { $fields = array(); $fields['id'] = BaseFieldDefinition::create('integer') ->setLabel(t('Message ID')) ->setDescription(t('The message ID.')) ->setReadOnly(TRUE) ->setSetting('unsigned', TRUE); return $fields; } } /** * Implements hook_entity_type_alter(). */ function contact_storage_test_entity_type_alter(array &$entity_types) { /** @var $entity_types \Drupal\Core\Entity\EntityTypeInterface[] */ // Set the controller class for nodes to an alternate implementation of the // Drupal\Core\Entity\EntityStorageInterface interface. $entity_types['contact_message']->setStorageClass('\Drupal\Core\Entity\Sql\SqlContentEntityStorage'); $keys = $entity_types['contact_message']->getKeys(); $keys['id'] = 'id'; $entity_types['contact_message']->set('entity_keys', $keys); $entity_types['contact_message']->set('base_table', 'contact_message'); }