You are here

field.post_update.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 core/modules/field/field.post_update.php

Post update functions for Field module.

File

core/modules/field/field.post_update.php
View source
<?php

/**
 * @file
 * Post update functions for Field module.
 */
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\field\Entity\FieldConfig;

/**
 * @addtogroup updates-8.0.0-beta
 * @{
 */

/**
 * Re-save all field storage config objects to add 'custom_storage' property.
 */
function field_post_update_save_custom_storage_property() {
  foreach (FieldStorageConfig::loadMultiple() as $field_storage_config) {
    $field_storage_config
      ->save();
  }
  return t('All field storage configuration objects re-saved.');
}

/**
 * Fixes the 'handler' setting for entity reference fields.
 */
function field_post_update_entity_reference_handler_setting() {
  foreach (FieldConfig::loadMultiple() as $field_config) {
    $field_type_manager = \Drupal::service('plugin.manager.field.field_type');
    $item_class = 'Drupal\\Core\\Field\\Plugin\\Field\\FieldType\\EntityReferenceItem';
    $class = $field_type_manager
      ->getPluginClass($field_config
      ->getType());
    if ($class === $item_class || is_subclass_of($class, $item_class)) {

      // field_field_config_presave() will fix the 'handler' setting on save.
      $field_config
        ->save();
    }
  }
  return t('Selection handler for entity reference fields have been adjusted.');
}

/**
 * @} End of "addtogroup updates-8.0.0-beta".
 */

Functions

Namesort descending Description
field_post_update_entity_reference_handler_setting Fixes the 'handler' setting for entity reference fields.
field_post_update_save_custom_storage_property Re-save all field storage config objects to add 'custom_storage' property.