You are here

function gathercontent_update_8505 in GatherContent 8.5

Update gc_id to gc_file_id field on file entity.

File

./gathercontent.install, line 296
Install and uninstall script for GatherContent module.

Code

function gathercontent_update_8505() {

  /** @var \Drupal\Core\Entity\EntityFieldManager $entityFieldManager */
  $entityFieldManager = \Drupal::service('entity_field.manager');

  /** @var \Drupal\Core\Field\FieldStorageDefinitionListener $fieldStorageDefinitionListener */
  $fieldStorageDefinitionListener = \Drupal::service('field_storage_definition.listener');
  $definition = $entityFieldManager
    ->getFieldStorageDefinitions('file')['gc_file_id'];
  if (!empty($definition)) {
    $fieldStorageDefinitionListener
      ->onFieldStorageDefinitionCreate($definition);
  }

  /** @var \Drupal\Core\Database\Connection $connection */
  $connection = \Drupal::service('database');
  $connection
    ->query('UPDATE file_managed SET gc_file_id = gc_id')
    ->execute();
  $updateManager = \Drupal::entityDefinitionUpdateManager();
  $entityFieldStorage = $updateManager
    ->getFieldStorageDefinition('gc_id', 'file');
  if (!empty($entityFieldStorage)) {
    $updateManager
      ->uninstallFieldStorageDefinition($entityFieldStorage);
  }
}