function media_update_8700
Set the 'owner' entity key and update the field.
File
-
core/
modules/ media/ media.install, line 233
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'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.