public function SqlContentEntityStorageSchema::onEntityTypeDelete in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema::onEntityTypeDelete()
- 9 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema::onEntityTypeDelete()
Reacts to the deletion of the entity type.
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type being deleted.
Overrides EntityTypeListenerInterface::onEntityTypeDelete
File
- core/
lib/ Drupal/ Core/ Entity/ Sql/ SqlContentEntityStorageSchema.php, line 384
Class
- SqlContentEntityStorageSchema
- Defines a schema handler that supports revisionable, translatable entities.
Namespace
Drupal\Core\Entity\SqlCode
public function onEntityTypeDelete(EntityTypeInterface $entity_type) {
$this
->checkEntityType($entity_type);
$schema_handler = $this->database
->schema();
// Delete entity and field tables.
$table_names = $this
->getTableNames($entity_type, $this->fieldStorageDefinitions, $this
->getTableMapping($entity_type));
foreach ($table_names as $table_name) {
if ($schema_handler
->tableExists($table_name)) {
$schema_handler
->dropTable($table_name);
}
}
// Delete the field schema data.
foreach ($this->fieldStorageDefinitions as $field_storage_definition) {
$this
->deleteFieldSchemaData($field_storage_definition);
}
// Delete the entity schema.
$this
->deleteEntitySchemaData($entity_type);
}