// Create the dedicated field tables using "deleted" table names.
foreach ($dedicated_table_field_schema as $name =>
$table) { if (!
$this->database->
schema()->
tableExists($dedicated_table_name_mapping[$name])) { $this->database->
schema()->
createTable($dedicated_table_name_mapping[$name],
$table);
} else { throw new EntityStorageException('The field ' .
$storage_definition->
getName() . ' has already been deleted and it is in the process of being purged.'
);
} } try { if ($this->database->
supportsTransactionalDDL()) { // If the database supports transactional DDL, we can go ahead and rely
// on it. If not, we will have to rollback manually if something fails.
$transaction =
$this->database->
startTransaction();
} // Copy the data from the base table.
$this->database->
insert($dedicated_table_name) ->
from($this->
getSelectQueryForFieldStorageDeletion($field_table_name,
$shared_table_field_columns,
$dedicated_table_field_columns)) ->
execute();
// Copy the data from the revision table.