$tables =
$this->
getEntitySchemaTables($table_mapping);
// Initialize the table schema.
$schema[$tables['base_table'
]] =
$this->
initializeBaseTable($entity_type);
if (isset($tables['revision_table'
])) { $schema[$tables['revision_table'
]] =
$this->
initializeRevisionTable($entity_type);
} if (isset($tables['data_table'
])) { $schema[$tables['data_table'
]] =
$this->
initializeDataTable($entity_type);
} if (isset($tables['revision_data_table'
])) { $schema[$tables['revision_data_table'
]] =
$this->
initializeRevisionDataTable($entity_type);
} // We need to act only on shared entity schema tables.
$table_names =
array_diff($table_mapping->
getTableNames(),
$table_mapping->
getDedicatedTableNames());
foreach ($table_names as $table_name) { if (!
isset($schema[$table_name])) { $schema[$table_name] =
[];
} foreach ($table_mapping->
getFieldNames($table_name) as $field_name) { if (!
isset($this->fieldStorageDefinitions
[$field_name])) { throw new FieldException("Field storage definition for '
$field_name' could not be found."
);
}