function _update_8003_field_create_instance

Writes a field instance directly to configuration.

Upgrades using this function need to use hook_update_dependencies() to ensure they get executed after field_update_8003().

Parameters

array $field_config: An array of field properties.

array $instance_config: An array of field instance properties.

Related topics

2 calls to _update_8003_field_create_instance()
block_update_8008 in drupal/core/modules/block/block.install
Migrate {block_custom}.body and {block_custom}.format to block_body field.
user_update_8011 in drupal/core/modules/user/user.install
Create user picture field.

File

drupal/core/modules/field/field.install, line 71
Install, update, and uninstall functions for the Field module.

Code

function _update_8003_field_create_instance(array $field_config, array &$instance_config) {
  $uuid = new Uuid();

  // Merge in defaults.
  $instance_config += array(
    'description' => '',
    'required' => FALSE,
    'uuid' => $uuid
      ->generate(),
    'field_uuid' => $field_config['uuid'],
    'field_type' => $field_config['type'],
    'default_value' => array(),
    'default_value_function' => '',
    'settings' => array(),
    'widget' => array(),
    'status' => 1,
    'langcode' => 'und',
  );

  // Save in config.
  Drupal::config('field.instance.' . $instance_config['id'])
    ->setData($instance_config)
    ->save();
}