function media_update_8700 in Drupal 8
Set the 'owner' entity key and update the field.
File
- core/
modules/ media/ media.install, line 233 - Install, uninstall and update hooks for Media module.
Code
function media_update_8700() {
$definition_update_manager = \Drupal::entityDefinitionUpdateManager();
$entity_type = $definition_update_manager
->getEntityType('media');
$database = \Drupal::database();
if (\Drupal::entityTypeManager()
->getStorage('media') instanceof SqlEntityStorageInterface) {
if ($database
->schema()
->tableExists($entity_type
->getDataTable())) {
$database
->update($entity_type
->getDataTable())
->fields([
'uid' => 0,
])
->isNull('uid')
->execute();
}
if ($database
->schema()
->tableExists($entity_type
->getRevisionDataTable())) {
$database
->update($entity_type
->getRevisionDataTable())
->fields([
'uid' => 0,
])
->isNull('uid')
->execute();
}
}
$keys = $entity_type
->getKeys();
$keys['owner'] = 'uid';
$entity_type
->set('entity_keys', $keys);
$definition_update_manager
->updateEntityType($entity_type);
$definition_update_manager
->updateFieldStorageDefinition($definition_update_manager
->getFieldStorageDefinition('uid', 'media'));
}