class EntityFieldStorageConfig
Same name and namespace in other branches
- 11.x core/modules/migrate/src/Plugin/migrate/destination/EntityFieldStorageConfig.php \Drupal\migrate\Plugin\migrate\destination\EntityFieldStorageConfig
Provides destination plugin for field_storage_config configuration entities.
The Field API defines two primary data structures, FieldStorage and Field. A FieldStorage defines a particular type of data that can be attached to entities as a Field instance.
The example below creates a storage for a simple text field. The example uses the EmptySource source plugin and constant source values for the sake of simplicity.
id: field_storage_example
label: Field storage example
source:
plugin: empty
constants:
entity_type: node
id: node.field_text_example
field_name: field_text_example
type: string
cardinality: 1
settings:
max_length: 10
langcode: en
translatable: true
process:
entity_type: constants/entity_type
id: constants/id
field_name: constants/field_name
type: constants/type
cardinality: constants/cardinality
settings: constants/settings
langcode: constants/langcode
translatable: constants/translatable
destination:
plugin: entity:field_storage_config
For a full list of the properties of a FieldStorage configuration entity, refer to \Drupal\field\Entity\FieldStorageConfig.
For an example on how to migrate a Field instance of this FieldStorage, refer to \Drupal\migrate\Plugin\migrate\destination\EntityFieldInstance.
Plugin annotation
@MigrateDestination(
id = "entity:field_storage_config"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
- class \Drupal\migrate\Plugin\migrate\destination\DestinationBase extends \Drupal\migrate\Plugin\MigrateDestinationInterface, \Drupal\migrate\Plugin\RequirementsInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\migrate\Plugin\migrate\destination\Entity extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait, \Drupal\migrate\EntityFieldDefinitionTrait implements \Drupal\migrate\Plugin\migrate\destination\DestinationBase
- class \Drupal\migrate\Plugin\migrate\destination\EntityConfigBase implements \Drupal\migrate\Plugin\migrate\destination\Entity
- class \Drupal\migrate\Plugin\migrate\destination\EntityFieldStorageConfig implements \Drupal\migrate\Plugin\migrate\destination\EntityConfigBase
- class \Drupal\migrate\Plugin\migrate\destination\EntityConfigBase implements \Drupal\migrate\Plugin\migrate\destination\Entity
- class \Drupal\migrate\Plugin\migrate\destination\Entity extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait, \Drupal\migrate\EntityFieldDefinitionTrait implements \Drupal\migrate\Plugin\migrate\destination\DestinationBase
- class \Drupal\migrate\Plugin\migrate\destination\DestinationBase extends \Drupal\migrate\Plugin\MigrateDestinationInterface, \Drupal\migrate\Plugin\RequirementsInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of EntityFieldStorageConfig
File
-
core/
modules/ migrate/ src/ Plugin/ migrate/ destination/ EntityFieldStorageConfig.php, line 53
Namespace
Drupal\migrate\Plugin\migrate\destinationView source
class EntityFieldStorageConfig extends EntityConfigBase {
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['entity_type']['type'] = 'string';
$ids['field_name']['type'] = 'string';
// @todo: Remove conditional. https://www.drupal.org/node/3004574
if ($this->isTranslationDestination()) {
$ids['langcode']['type'] = 'string';
}
return $ids;
}
/**
* {@inheritdoc}
*/
public function rollback(array $destination_identifier) {
if ($this->isTranslationDestination()) {
$language = $destination_identifier['langcode'];
unset($destination_identifier['langcode']);
$destination_identifier = [
implode('.', $destination_identifier),
'langcode' => $language,
];
}
else {
$destination_identifier = [
implode('.', $destination_identifier),
];
}
parent::rollback($destination_identifier);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.