class Migration
Same name in other branches
- 8.9.x core/modules/migrate/src/Plugin/Migration.php \Drupal\migrate\Plugin\Migration
- 8.9.x core/modules/migrate/src/Plugin/migrate/process/Migration.php \Drupal\migrate\Plugin\migrate\process\Migration
- 10 core/modules/migrate/src/Plugin/Migration.php \Drupal\migrate\Plugin\Migration
- 11.x core/modules/migrate/src/Plugin/Migration.php \Drupal\migrate\Plugin\Migration
Defines the Migration plugin.
A migration plugin instance that represents one single migration and acts like a container for the information about a single migration such as the source, process and destination plugins.
The configuration of a migration is defined using YAML format and placed in the directory MODULENAME/migrations.
Available definition keys:
- id: The migration ID.
- label: The human-readable label for the migration.
- source: The definition for a migrate source plugin.
- process: The definition for the migrate process pipelines for the destination properties.
- destination: The definition a migrate destination plugin.
- audit: (optional) Audit the migration for conflicts with existing content.
- deriver: (optional) The fully qualified path to a deriver class.
- idMap: (optional) The definition for a migrate idMap plugin.
- migration_dependencies: (optional) An array with two keys 'required' and 'optional' listing the migrations that this migration depends on. The required migrations must be run first and completed successfully. The optional migrations will be executed if they are present.
- migration_tags: (optional) An array of tags for this migration.
- provider: (optional) The name of the module that provides the plugin.
Example with all keys:
id: d7_taxonomy_term_example
label: Taxonomy terms
audit: true
migration_tags:
- Drupal 7
- Content
- Term example
deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
provider: custom_module
source:
plugin: d7_taxonomy_term
process:
tid: tid
vid:
plugin: migration_lookup
migration: d7_taxonomy_vocabulary
source: vid
name: name
'description/value': description
'description/format': format
weight: weight
parent_id:
-
plugin: skip_on_empty
method: process
source: parent
-
plugin: migration_lookup
migration: d7_taxonomy_term
parent:
plugin: default_value
default_value: 0
source: '@parent_id'
destination:
plugin: entity:taxonomy_term
migration_dependencies:
required:
- d7_taxonomy_vocabulary
optional:
- d7_field_instance
For additional configuration keys, refer to these Migrate classes.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\migrate\Plugin\Migration extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrationInterface, \Drupal\migrate\Plugin\RequirementsInterface, \Drupal\Core\Plugin\ContainerFactoryPluginInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of Migration
See also
\Drupal\migrate\Plugin\migrate\source\SourcePluginBase
\Drupal\migrate\Plugin\migrate\source\SqlBase
\Drupal\migrate\Plugin\migrate\destination\Config
\Drupal\migrate\Plugin\migrate\destination\EntityConfigBase
\Drupal\migrate\Plugin\migrate\destination\EntityContentBase
\Drupal\Core\Plugin\PluginBase
7 files declare their use of Migration
- D6NodeTranslation.php in core/
modules/ node/ src/ Plugin/ migrate/ D6NodeTranslation.php - D7NodeTranslation.php in core/
modules/ node/ src/ Plugin/ migrate/ D7NodeTranslation.php - FieldMigration.php in core/
modules/ migrate_drupal/ src/ Plugin/ migrate/ FieldMigration.php - FilterFormatPermissionTest.php in core/
modules/ filter/ tests/ src/ Kernel/ Migrate/ d6/ FilterFormatPermissionTest.php - MigrationPluginManagerTest.php in core/
modules/ migrate/ tests/ src/ Unit/ MigrationPluginManagerTest.php
6 string references to 'Migration'
- migrate.info.yml in core/
modules/ migrate/ migrate.info.yml - core/modules/migrate/migrate.info.yml
- migrate_drupal.info.yml in core/
modules/ migrate_drupal/ migrate_drupal.info.yml - core/modules/migrate_drupal/migrate_drupal.info.yml
- migrate_drupal_ui.info.yml in core/
modules/ migrate_drupal_ui/ migrate_drupal_ui.info.yml - core/modules/migrate_drupal_ui/migrate_drupal_ui.info.yml
- Migration::findMigrationDependencies in core/
modules/ migrate/ src/ Plugin/ Migration.php - Find migration dependencies from migration_lookup and sub_process plugins.
- MigrationTest::testGetMigrationDependencies in core/
modules/ migrate/ tests/ src/ Kernel/ Plugin/ MigrationTest.php - Tests Migration::getMigrationDependencies()
File
-
core/
modules/ migrate/ src/ Plugin/ Migration.php, line 98
Namespace
Drupal\migrate\PluginView source
class Migration extends PluginBase implements MigrationInterface, RequirementsInterface, ContainerFactoryPluginInterface {
/**
* The migration ID (machine name).
*
* @var string
*/
protected $id;
/**
* The human-readable label for the migration.
*
* @var string
*/
protected $label;
/**
* The plugin ID for the row.
*
* @var string
*/
protected $row;
/**
* The source configuration, with at least a 'plugin' key.
*
* Used to initialize the $sourcePlugin.
*
* @var array
*/
protected $source;
/**
* The source plugin.
*
* @var \Drupal\migrate\Plugin\MigrateSourceInterface
*/
protected $sourcePlugin;
/**
* The configuration describing the process plugins.
*
* This is a strictly internal property and should not returned to calling
* code, use getProcess() instead.
*
* @var array
*/
protected $process = [];
/**
* The cached process plugins.
*
* @var array
*/
protected $processPlugins = [];
/**
* The destination configuration, with at least a 'plugin' key.
*
* Used to initialize $destinationPlugin.
*
* @var array
*/
protected $destination;
/**
* The destination plugin.
*
* @var \Drupal\migrate\Plugin\MigrateDestinationInterface
*/
protected $destinationPlugin;
/**
* The identifier map data.
*
* Used to initialize $idMapPlugin.
*
* @var array
*/
protected $idMap = [];
/**
* The identifier map.
*
* @var \Drupal\migrate\Plugin\MigrateIdMapInterface
*/
protected $idMapPlugin;
/**
* The source identifiers.
*
* An array of source identifiers: the keys are the name of the properties,
* the values are dependent on the ID map plugin.
*
* @var array
*/
protected $sourceIds = [];
/**
* The destination identifiers.
*
* An array of destination identifiers: the keys are the name of the
* properties, the values are dependent on the ID map plugin.
*
* @var array
*/
protected $destinationIds = [];
/**
* The source_row_status for the current map row.
*
* @var int
*/
protected $sourceRowStatus = MigrateIdMapInterface::STATUS_IMPORTED;
/**
* Track time of last import if TRUE.
*
* @var bool
*/
protected $trackLastImported = FALSE;
/**
* These migrations must be already executed before this migration can run.
*
* @var array
*/
protected $requirements = [];
/**
* An optional list of tags, used by the plugin manager for filtering.
*
* @var array
*/
protected $migration_tags = [];
/**
* Whether the migration is auditable.
*
* If set to TRUE, the migration's IDs will be audited. This means that, if
* the highest destination ID is greater than the highest source ID, a warning
* will be displayed that entities might be overwritten.
*
* @var bool
*/
protected $audit = FALSE;
/**
* These migrations, if run, must be executed before this migration.
*
* These are different from the configuration dependencies. Migration
* dependencies are only used to store relationships between migrations.
*
* The migration_dependencies value is structured like this:
* @code
* array(
* 'required' => array(
* // An array of migration IDs that must be run before this migration.
* ),
* 'optional' => array(
* // An array of migration IDs that, if they exist, must be run before
* // this migration.
* ),
* );
* @endcode
*
* @var array
*/
protected $migration_dependencies = [];
/**
* The migration's configuration dependencies.
*
* These store any dependencies on modules or other configuration (including
* other migrations) that must be available before the migration can be
* created.
*
* @see \Drupal\Core\Config\Entity\ConfigDependencyManager
*
* @var array
*/
protected $dependencies = [];
/**
* The migration plugin manager for loading other migration plugins.
*
* @var \Drupal\migrate\Plugin\MigrationPluginManagerInterface
*/
protected $migrationPluginManager;
/**
* The source plugin manager.
*
* @var \Drupal\migrate\Plugin\MigratePluginManager
*/
protected $sourcePluginManager;
/**
* The process plugin manager.
*
* @var \Drupal\migrate\Plugin\MigratePluginManager
*/
protected $processPluginManager;
/**
* The destination plugin manager.
*
* @var \Drupal\migrate\Plugin\MigrateDestinationPluginManager
*/
protected $destinationPluginManager;
/**
* The ID map plugin manager.
*
* @var \Drupal\migrate\Plugin\MigratePluginManager
*/
protected $idMapPluginManager;
/**
* Labels corresponding to each defined status.
*
* @var array
*/
protected $statusLabels = [
self::STATUS_IDLE => 'Idle',
self::STATUS_IMPORTING => 'Importing',
self::STATUS_ROLLING_BACK => 'Rolling back',
self::STATUS_STOPPING => 'Stopping',
self::STATUS_DISABLED => 'Disabled',
];
/**
* Constructs a Migration.
*
* @param array $configuration
* Plugin configuration.
* @param string $plugin_id
* The plugin ID.
* @param mixed $plugin_definition
* The plugin definition.
* @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_plugin_manager
* The migration plugin manager.
* @param \Drupal\migrate\Plugin\MigratePluginManagerInterface $source_plugin_manager
* The source migration plugin manager.
* @param \Drupal\migrate\Plugin\MigratePluginManagerInterface $process_plugin_manager
* The process migration plugin manager.
* @param \Drupal\migrate\Plugin\MigrateDestinationPluginManager $destination_plugin_manager
* The destination migration plugin manager.
* @param \Drupal\migrate\Plugin\MigratePluginManagerInterface $id_map_plugin_manager
* The ID map migration plugin manager.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationPluginManagerInterface $migration_plugin_manager, MigratePluginManagerInterface $source_plugin_manager, MigratePluginManagerInterface $process_plugin_manager, MigrateDestinationPluginManager $destination_plugin_manager, MigratePluginManagerInterface $id_map_plugin_manager) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->migrationPluginManager = $migration_plugin_manager;
$this->sourcePluginManager = $source_plugin_manager;
$this->processPluginManager = $process_plugin_manager;
$this->destinationPluginManager = $destination_plugin_manager;
$this->idMapPluginManager = $id_map_plugin_manager;
foreach (NestedArray::mergeDeepArray([
$plugin_definition,
$configuration,
], TRUE) as $key => $value) {
$this->{$key} = $value;
}
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container->get('plugin.manager.migration'), $container->get('plugin.manager.migrate.source'), $container->get('plugin.manager.migrate.process'), $container->get('plugin.manager.migrate.destination'), $container->get('plugin.manager.migrate.id_map'));
}
/**
* {@inheritdoc}
*/
public function id() {
return $this->pluginId;
}
/**
* {@inheritdoc}
*/
public function label() {
return $this->label;
}
/**
* Retrieves the ID map plugin.
*
* @return \Drupal\migrate\Plugin\MigrateIdMapInterface
* The ID map plugin.
*/
public function getIdMapPlugin() {
return $this->idMapPlugin;
}
/**
* {@inheritdoc}
*/
public function getSourcePlugin() {
if (!isset($this->sourcePlugin)) {
$this->sourcePlugin = $this->sourcePluginManager
->createInstance($this->source['plugin'], $this->source, $this);
}
return $this->sourcePlugin;
}
/**
* {@inheritdoc}
*/
public function getProcessPlugins(array $process = NULL) {
if (!isset($process)) {
$process = $this->getProcess();
}
$index = serialize($process);
if (!isset($this->processPlugins[$index])) {
$this->processPlugins[$index] = [];
foreach ($this->getProcessNormalized($process) as $property => $configurations) {
$this->processPlugins[$index][$property] = [];
foreach ($configurations as $configuration) {
if (isset($configuration['source'])) {
$this->processPlugins[$index][$property][] = $this->processPluginManager
->createInstance('get', $configuration, $this);
}
// Get is already handled.
if ($configuration['plugin'] != 'get') {
$this->processPlugins[$index][$property][] = $this->processPluginManager
->createInstance($configuration['plugin'], $configuration, $this);
}
if (!$this->processPlugins[$index][$property]) {
throw new MigrateException("Invalid process configuration for {$property}");
}
}
}
}
return $this->processPlugins[$index];
}
/**
* Resolve shorthands into a list of plugin configurations.
*
* @param array $process
* A process configuration array.
*
* @return array
* The normalized process configuration.
*/
protected function getProcessNormalized(array $process) {
$normalized_configurations = [];
foreach ($process as $destination => $configuration) {
if (is_string($configuration)) {
$configuration = [
'plugin' => 'get',
'source' => $configuration,
];
}
if (isset($configuration['plugin'])) {
$configuration = [
$configuration,
];
}
if (!is_array($configuration)) {
$migration_id = $this->getPluginId();
throw new MigrateException("Invalid process for destination '{$destination}' in migration '{$migration_id}'");
}
$normalized_configurations[$destination] = $configuration;
}
return $normalized_configurations;
}
/**
* {@inheritdoc}
*/
public function getDestinationPlugin($stub_being_requested = FALSE) {
if ($stub_being_requested && !empty($this->destination['no_stub'])) {
throw new MigrateSkipRowException('Stub requested but not made because no_stub configuration is set.');
}
if (!isset($this->destinationPlugin)) {
$this->destinationPlugin = $this->destinationPluginManager
->createInstance($this->destination['plugin'], $this->destination, $this);
}
return $this->destinationPlugin;
}
/**
* {@inheritdoc}
*/
public function getIdMap() {
if (!isset($this->idMapPlugin)) {
$configuration = $this->idMap;
$plugin = $configuration['plugin'] ?? 'sql';
$this->idMapPlugin = $this->idMapPluginManager
->createInstance($plugin, $configuration, $this);
}
return $this->idMapPlugin;
}
/**
* {@inheritdoc}
*/
public function getRequirements() : array {
return $this->requirements;
}
/**
* {@inheritdoc}
*/
public function checkRequirements() {
// Check whether the current migration source and destination plugin
// requirements are met or not.
if ($this->getSourcePlugin() instanceof RequirementsInterface) {
$this->getSourcePlugin()
->checkRequirements();
}
if ($this->getDestinationPlugin() instanceof RequirementsInterface) {
$this->getDestinationPlugin()
->checkRequirements();
}
if (empty($this->requirements)) {
// There are no requirements to check.
return;
}
/** @var \Drupal\migrate\Plugin\MigrationInterface[] $required_migrations */
$required_migrations = $this->getMigrationPluginManager()
->createInstances($this->requirements);
$missing_migrations = array_diff($this->requirements, array_keys($required_migrations));
// Check if the dependencies are in good shape.
foreach ($required_migrations as $migration_id => $required_migration) {
if (!$required_migration->allRowsProcessed()) {
$missing_migrations[] = $migration_id;
}
}
if ($missing_migrations) {
throw new RequirementsException('Missing migrations ' . implode(', ', $missing_migrations) . '.', [
'requirements' => $missing_migrations,
]);
}
}
/**
* Gets the migration plugin manager.
*
* @return \Drupal\migrate\Plugin\MigrationPluginManagerInterface
* The migration plugin manager.
*/
protected function getMigrationPluginManager() {
return $this->migrationPluginManager;
}
/**
* {@inheritdoc}
*/
public function setStatus($status) {
\Drupal::keyValue('migrate_status')->set($this->id(), $status);
}
/**
* {@inheritdoc}
*/
public function getStatus() {
return \Drupal::keyValue('migrate_status')->get($this->id(), static::STATUS_IDLE);
}
/**
* {@inheritdoc}
*/
public function getStatusLabel() {
$status = $this->getStatus();
if (isset($this->statusLabels[$status])) {
return $this->statusLabels[$status];
}
else {
return '';
}
}
/**
* {@inheritdoc}
*/
public function getInterruptionResult() {
return \Drupal::keyValue('migrate_interruption_result')->get($this->id(), static::RESULT_INCOMPLETE);
}
/**
* {@inheritdoc}
*/
public function clearInterruptionResult() {
\Drupal::keyValue('migrate_interruption_result')->delete($this->id());
}
/**
* {@inheritdoc}
*/
public function interruptMigration($result) {
$this->setStatus(MigrationInterface::STATUS_STOPPING);
\Drupal::keyValue('migrate_interruption_result')->set($this->id(), $result);
}
/**
* {@inheritdoc}
*/
public function allRowsProcessed() {
$source_count = $this->getSourcePlugin()
->count();
// If the source is uncountable, we have no way of knowing if it's
// complete, so stipulate that it is.
if ($source_count < 0) {
return TRUE;
}
$processed_count = $this->getIdMap()
->processedCount();
// We don't use == because in some circumstances (like unresolved stubs
// being created), the processed count may be higher than the available
// source rows.
return $source_count <= $processed_count;
}
/**
* {@inheritdoc}
*/
public function set($property_name, $value) {
if ($property_name == 'source') {
// Invalidate the source plugin.
unset($this->sourcePlugin);
}
elseif ($property_name === 'destination') {
// Invalidate the destination plugin.
unset($this->destinationPlugin);
}
$this->{$property_name} = $value;
return $this;
}
/**
* {@inheritdoc}
*/
public function getProcess() {
return $this->getProcessNormalized($this->process);
}
/**
* {@inheritdoc}
*/
public function setProcess(array $process) {
$this->process = $process;
return $this;
}
/**
* {@inheritdoc}
*/
public function setProcessOfProperty($property, $process_of_property) {
$this->process[$property] = $process_of_property;
return $this;
}
/**
* {@inheritdoc}
*/
public function mergeProcessOfProperty($property, array $process_of_property) {
// If we already have a process value then merge the incoming process array
// otherwise simply set it.
$current_process = $this->getProcess();
if (isset($current_process[$property])) {
$this->process = NestedArray::mergeDeepArray([
$current_process,
$this->getProcessNormalized([
$property => $process_of_property,
]),
], TRUE);
}
else {
$this->setProcessOfProperty($property, $process_of_property);
}
return $this;
}
/**
* {@inheritdoc}
*/
public function isTrackLastImported() {
return $this->trackLastImported;
}
/**
* {@inheritdoc}
*/
public function setTrackLastImported($track_last_imported) {
$this->trackLastImported = (bool) $track_last_imported;
return $this;
}
/**
* {@inheritdoc}
*/
public function getMigrationDependencies() {
$this->migration_dependencies = ($this->migration_dependencies ?: []) + [
'required' => [],
'optional' => [],
];
if (count($this->migration_dependencies) !== 2 || !is_array($this->migration_dependencies['required']) || !is_array($this->migration_dependencies['optional'])) {
throw new InvalidPluginDefinitionException($this->id(), "Invalid migration dependencies configuration for migration {$this->id()}");
}
$this->migration_dependencies['optional'] = array_unique(array_merge($this->migration_dependencies['optional'], $this->findMigrationDependencies($this->process)));
return $this->migration_dependencies;
}
/**
* Find migration dependencies from migration_lookup and sub_process plugins.
*
* @param array $process
* A process configuration array.
*
* @return array
* The migration dependencies.
*/
protected function findMigrationDependencies($process) {
$return = [];
foreach ($this->getProcessNormalized($process) as $process_pipeline) {
foreach ($process_pipeline as $plugin_configuration) {
// If the migration uses a deriver and has a migration_lookup with
// itself as the source migration, then skip adding dependencies.
// Otherwise the migration will depend on all the variations of itself.
// See d7_taxonomy_term for an example.
if (isset($this->deriver) && $plugin_configuration['plugin'] === 'migration_lookup' && $plugin_configuration['migration'] == $this->getBaseId()) {
continue;
}
if (in_array($plugin_configuration['plugin'], [
'migration',
'migration_lookup',
], TRUE)) {
$return = array_merge($return, (array) $plugin_configuration['migration']);
}
if (in_array($plugin_configuration['plugin'], [
'iterator',
'sub_process',
], TRUE)) {
$return = array_merge($return, $this->findMigrationDependencies($plugin_configuration['process']));
}
}
}
return $return;
}
/**
* {@inheritdoc}
*/
public function getPluginDefinition() {
$definition = [];
// While normal plugins do not change their definitions on the fly, this
// one does so accommodate for that.
foreach (parent::getPluginDefinition() as $key => $value) {
$definition[$key] = $this->{$key} ?? $value;
}
return $definition;
}
/**
* {@inheritdoc}
*/
public function getDestinationConfiguration() {
return $this->destination;
}
/**
* {@inheritdoc}
*/
public function getSourceConfiguration() {
return $this->source;
}
/**
* {@inheritdoc}
*/
public function getTrackLastImported() {
return $this->trackLastImported;
}
/**
* {@inheritdoc}
*/
public function getDestinationIds() {
return $this->destinationIds;
}
/**
* {@inheritdoc}
*/
public function getMigrationTags() {
return $this->migration_tags;
}
/**
* {@inheritdoc}
*/
public function isAuditable() {
return (bool) $this->audit;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DerivativeInspectionInterface::getBaseId | public | function | Gets the base_plugin_id of the plugin instance. | 1 | |
DerivativeInspectionInterface::getDerivativeId | public | function | Gets the derivative_id of the plugin instance. | 1 | |
Migration::$audit | protected | property | Whether the migration is auditable. | ||
Migration::$dependencies | protected | property | The migration's configuration dependencies. | ||
Migration::$destination | protected | property | The destination configuration, with at least a 'plugin' key. | ||
Migration::$destinationIds | protected | property | The destination identifiers. | ||
Migration::$destinationPlugin | protected | property | The destination plugin. | ||
Migration::$destinationPluginManager | protected | property | The destination plugin manager. | ||
Migration::$id | protected | property | The migration ID (machine name). | 1 | |
Migration::$idMap | protected | property | The identifier map data. | ||
Migration::$idMapPlugin | protected | property | The identifier map. | ||
Migration::$idMapPluginManager | protected | property | The ID map plugin manager. | ||
Migration::$label | protected | property | The human-readable label for the migration. | ||
Migration::$migrationPluginManager | protected | property | The migration plugin manager for loading other migration plugins. | ||
Migration::$migration_dependencies | protected | property | These migrations, if run, must be executed before this migration. | ||
Migration::$migration_tags | protected | property | An optional list of tags, used by the plugin manager for filtering. | ||
Migration::$process | protected | property | The configuration describing the process plugins. | ||
Migration::$processPluginManager | protected | property | The process plugin manager. | ||
Migration::$processPlugins | protected | property | The cached process plugins. | ||
Migration::$requirements | protected | property | These migrations must be already executed before this migration can run. | ||
Migration::$row | protected | property | The plugin ID for the row. | ||
Migration::$source | protected | property | The source configuration, with at least a 'plugin' key. | ||
Migration::$sourceIds | protected | property | The source identifiers. | ||
Migration::$sourcePlugin | protected | property | The source plugin. | ||
Migration::$sourcePluginManager | protected | property | The source plugin manager. | ||
Migration::$sourceRowStatus | protected | property | The source_row_status for the current map row. | ||
Migration::$statusLabels | protected | property | Labels corresponding to each defined status. | ||
Migration::$trackLastImported | protected | property | Track time of last import if TRUE. | ||
Migration::allRowsProcessed | public | function | Check if all source rows from this migration have been processed. | Overrides MigrationInterface::allRowsProcessed | |
Migration::checkRequirements | public | function | Checks if requirements for this plugin are OK. | Overrides RequirementsInterface::checkRequirements | |
Migration::clearInterruptionResult | public | function | Clears the result to return upon interruption. | Overrides MigrationInterface::clearInterruptionResult | |
Migration::create | public static | function | Creates an instance of the plugin. | Overrides ContainerFactoryPluginInterface::create | 1 |
Migration::findMigrationDependencies | protected | function | Find migration dependencies from migration_lookup and sub_process plugins. | ||
Migration::getDestinationConfiguration | public | function | Get the destination configuration, with at least a 'plugin' key. | Overrides MigrationInterface::getDestinationConfiguration | |
Migration::getDestinationIds | public | function | The destination identifiers. | Overrides MigrationInterface::getDestinationIds | |
Migration::getDestinationPlugin | public | function | Returns the initialized destination plugin. | Overrides MigrationInterface::getDestinationPlugin | |
Migration::getIdMap | public | function | Returns the initialized id_map plugin. | Overrides MigrationInterface::getIdMap | |
Migration::getIdMapPlugin | public | function | Retrieves the ID map plugin. | ||
Migration::getInterruptionResult | public | function | Get the result to return upon interruption. | Overrides MigrationInterface::getInterruptionResult | |
Migration::getMigrationDependencies | public | function | Get the dependencies for this migration. | Overrides MigrationInterface::getMigrationDependencies | 1 |
Migration::getMigrationPluginManager | protected | function | Gets the migration plugin manager. | ||
Migration::getMigrationTags | public | function | The migration tags. | Overrides MigrationInterface::getMigrationTags | |
Migration::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | Overrides PluginInspectionInterface::getPluginDefinition | |
Migration::getProcess | public | function | Gets the normalized process plugin configuration. | Overrides MigrationInterface::getProcess | 2 |
Migration::getProcessNormalized | protected | function | Resolve shorthands into a list of plugin configurations. | ||
Migration::getProcessPlugins | public | function | Returns the process plugins. | Overrides MigrationInterface::getProcessPlugins | |
Migration::getRequirements | public | function | Get a list of required plugin IDs. | Overrides MigrationInterface::getRequirements | |
Migration::getSourceConfiguration | public | function | Get the source configuration, with at least a 'plugin' key. | Overrides MigrationInterface::getSourceConfiguration | |
Migration::getSourcePlugin | public | function | Returns the initialized source plugin. | Overrides MigrationInterface::getSourcePlugin | |
Migration::getStatus | public | function | Get the current migration status. | Overrides MigrationInterface::getStatus | |
Migration::getStatusLabel | public | function | Retrieve a label for the current status. | Overrides MigrationInterface::getStatusLabel | |
Migration::getTrackLastImported | public | function | If true, track time of last import. | Overrides MigrationInterface::getTrackLastImported | |
Migration::id | public | function | An alias for getPluginId() for backwards compatibility reasons. | Overrides MigrationInterface::id | 1 |
Migration::interruptMigration | public | function | Sets the migration status as interrupted with a given result code. | Overrides MigrationInterface::interruptMigration | |
Migration::isAuditable | public | function | Indicates if the migration is auditable. | Overrides MigrationInterface::isAuditable | |
Migration::isTrackLastImported | public | function | Checks if the migration should track time of last import. | Overrides MigrationInterface::isTrackLastImported | |
Migration::label | public | function | Get the plugin label. | Overrides MigrationInterface::label | |
Migration::mergeProcessOfProperty | public | function | Merge the process pipeline configuration for a single property. | Overrides MigrationInterface::mergeProcessOfProperty | |
Migration::set | public | function | 1 | ||
Migration::setProcess | public | function | Allows you to override the entire process configuration. | Overrides MigrationInterface::setProcess | |
Migration::setProcessOfProperty | public | function | Set the process pipeline configuration for an individual destination field. | Overrides MigrationInterface::setProcessOfProperty | |
Migration::setStatus | public | function | Set the current migration status. | Overrides MigrationInterface::setStatus | |
Migration::setTrackLastImported | public | function | Set if the migration should track time of last import. | Overrides MigrationInterface::setTrackLastImported | |
Migration::__construct | public | function | Constructs a Migration. | 3 | |
MigrationInterface::MESSAGE_ERROR | constant | Migration error. | |||
MigrationInterface::MESSAGE_INFORMATIONAL | constant | Migration info. | |||
MigrationInterface::MESSAGE_NOTICE | constant | Migration notice. | |||
MigrationInterface::MESSAGE_WARNING | constant | Migration warning. | |||
MigrationInterface::RESULT_COMPLETED | constant | All records have been processed. | |||
MigrationInterface::RESULT_DISABLED | constant | This migration is disabled, skipping. | |||
MigrationInterface::RESULT_FAILED | constant | The process had a fatal error. | |||
MigrationInterface::RESULT_INCOMPLETE | constant | The process has stopped itself (e.g., the memory limit is approaching). | |||
MigrationInterface::RESULT_SKIPPED | constant | Dependencies are unfulfilled - skip the process. | |||
MigrationInterface::RESULT_STOPPED | constant | The process was stopped externally (e.g., via drush migrate-stop). | |||
MigrationInterface::STATUS_DISABLED | constant | The migration has been disabled. | |||
MigrationInterface::STATUS_IDLE | constant | The migration is currently not running. | |||
MigrationInterface::STATUS_IMPORTING | constant | The migration is currently importing. | |||
MigrationInterface::STATUS_ROLLING_BACK | constant | The migration is currently being rolled back. | |||
MigrationInterface::STATUS_STOPPING | constant | The migration is being stopped. | |||
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.