You are here

public function EntityLastInstalledSchemaRepository::deleteLastInstalledDefinition in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Entity/EntityLastInstalledSchemaRepository.php \Drupal\Core\Entity\EntityLastInstalledSchemaRepository::deleteLastInstalledDefinition()

Deletes the entity type definition from the application state.

Parameters

string $entity_type_id: The entity type definition identifier.

Return value

$this

Overrides EntityLastInstalledSchemaRepositoryInterface::deleteLastInstalledDefinition

File

core/lib/Drupal/Core/Entity/EntityLastInstalledSchemaRepository.php, line 106

Class

EntityLastInstalledSchemaRepository
Provides a repository for installed entity definitions.

Namespace

Drupal\Core\Entity

Code

public function deleteLastInstalledDefinition($entity_type_id) {
  $this->keyValueFactory
    ->get('entity.definitions.installed')
    ->delete($entity_type_id . '.entity_type');

  // Clean up field storage definitions as well. Even if the entity type
  // isn't currently fieldable, there might be legacy definitions or an
  // empty array stored from when it was.
  $this->keyValueFactory
    ->get('entity.definitions.installed')
    ->delete($entity_type_id . '.field_storage_definitions');
  $this->cacheBackend
    ->deleteMultiple([
    'entity_type_definitions.installed',
    $entity_type_id . '.field_storage_definitions.installed',
  ]);
  $this->entityTypeDefinitions = NULL;
  return $this;
}