You are here

class Migration in Zircon Profile 8

Same name in this branch
  1. 8 core/modules/migrate/src/Entity/Migration.php \Drupal\migrate\Entity\Migration
  2. 8 core/modules/migrate/src/Plugin/migrate/process/Migration.php \Drupal\migrate\Plugin\migrate\process\Migration
Same name and namespace in other branches
  1. 8.0 core/modules/migrate/src/Entity/Migration.php \Drupal\migrate\Entity\Migration

Defines the Migration entity.

The migration entity stores the information about a single migration, like the source, process and destination plugins.

Plugin annotation


@ConfigEntityType(
  id = "migration",
  label = @Translation("Migration"),
  handlers = {
    "storage" = "Drupal\migrate\MigrationStorage"
  },
  entity_keys = {
    "id" = "id",
    "label" = "label",
    "weight" = "weight"
  }
)

Hierarchy

Expanded class hierarchy of Migration

53 files declare their use of Migration
BuilderBase.php in core/modules/migrate/src/Plugin/migrate/builder/BuilderBase.php
Contains \Drupal\migrate\Plugin\migrate\builder\BuilderBase.
CckMigration.php in core/modules/migrate_drupal/src/Plugin/migrate/builder/d6/CckMigration.php
Contains \Drupal\migrate_drupal\Plugin\migrate\builder\d6\CckMigration.
MigrateCommentTypeTest.php in core/modules/comment/src/Tests/Migrate/d7/MigrateCommentTypeTest.php
Contains \Drupal\comment\Tests\Migrate\d7\MigrateCommentTypeTest.
MigrateDateFormatTest.php in core/modules/system/src/Tests/Migrate/d6/MigrateDateFormatTest.php
Contains \Drupal\system\Tests\Migrate\d6\MigrateDateFormatTest.
MigrateDependenciesTest.php in core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php
Contains \Drupal\migrate_drupal\Tests\dependencies\MigrateDependenciesTest.

... See full list

1 string reference to 'Migration'
migrate.schema.yml in core/modules/migrate/config/schema/migrate.schema.yml
core/modules/migrate/config/schema/migrate.schema.yml

File

core/modules/migrate/src/Entity/Migration.php, line 37
Contains \Drupal\migrate\Entity\Migration.

Namespace

Drupal\migrate\Entity
View source
class Migration extends ConfigEntityBase implements MigrationInterface, RequirementsInterface {

  /**
   * 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 string
   */
  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 = [];

  /**
   * Information on the high water mark.
   *
   * @var array
   */
  protected $highWaterProperty;

  /**
   * Indicate whether the primary system of record for this migration is the
   * source, or the destination (Drupal). In the source case, migration of
   * an existing object will completely replace the Drupal object with data from
   * the source side. In the destination case, the existing Drupal object will
   * be loaded, then changes from the source applied; also, rollback will not be
   * supported.
   *
   * @var string
   */
  protected $systemOfRecord = self::SOURCE;

  /**
   * Specify value of source_row_status for current map row. Usually set by
   * MigrateFieldHandler implementations.
   *
   * @var int
   */
  protected $sourceRowStatus = MigrateIdMapInterface::STATUS_IMPORTED;

  /**
   * @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
   */
  protected $highWaterStorage;

  /**
   * 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 = [];

  /**
   * 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 ID of the template from which this migration was derived, if any.
   *
   * @var string|NULL
   */
  protected $template;

  /**
   * The entity manager.
   *
   * @var \Drupal\Core\Entity\EntityManagerInterface
   */
  protected $entityManager;

  /**
   * 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',
  ];

  /**
   * {@inheritdoc}
   */
  public function getSourcePlugin() {
    if (!isset($this->sourcePlugin)) {
      $this->sourcePlugin = \Drupal::service('plugin.manager.migrate.source')
        ->createInstance($this->source['plugin'], $this->source, $this);
    }
    return $this->sourcePlugin;
  }

  /**
   * {@inheritdoc}
   */
  public function getProcessPlugins(array $process = NULL) {
    if (!isset($process)) {
      $process = $this->process;
    }
    $index = serialize($process);
    if (!isset($this->processPlugins[$index])) {
      $this->processPlugins[$index] = array();
      foreach ($this
        ->getProcessNormalized($process) as $property => $configurations) {
        $this->processPlugins[$index][$property] = array();
        foreach ($configurations as $configuration) {
          if (isset($configuration['source'])) {
            $this->processPlugins[$index][$property][] = \Drupal::service('plugin.manager.migrate.process')
              ->createInstance('get', $configuration, $this);
          }

          // Get is already handled.
          if ($configuration['plugin'] != 'get') {
            $this->processPlugins[$index][$property][] = \Drupal::service('plugin.manager.migrate.process')
              ->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 = array();
    foreach ($process as $destination => $configuration) {
      if (is_string($configuration)) {
        $configuration = array(
          'plugin' => 'get',
          'source' => $configuration,
        );
      }
      if (isset($configuration['plugin'])) {
        $configuration = array(
          $configuration,
        );
      }
      $normalized_configurations[$destination] = $configuration;
    }
    return $normalized_configurations;
  }

  /**
   * {@inheritdoc}
   */
  public function getDestinationPlugin($stub_being_requested = FALSE) {
    if (!isset($this->destinationPlugin)) {
      if ($stub_being_requested && !empty($this->destination['no_stub'])) {
        throw new MigrateSkipRowException();
      }
      $this->destinationPlugin = \Drupal::service('plugin.manager.migrate.destination')
        ->createInstance($this->destination['plugin'], $this->destination, $this);
    }
    return $this->destinationPlugin;
  }

  /**
   * {@inheritdoc}
   */
  public function getIdMap() {
    if (!isset($this->idMapPlugin)) {
      $configuration = $this->idMap;
      $plugin = isset($configuration['plugin']) ? $configuration['plugin'] : 'sql';
      $this->idMapPlugin = \Drupal::service('plugin.manager.migrate.id_map')
        ->createInstance($plugin, $configuration, $this);
    }
    return $this->idMapPlugin;
  }

  /**
   * Get the high water storage object.
   *
   * @return \Drupal\Core\KeyValueStore\KeyValueStoreInterface
   *   The storage object.
   */
  protected function getHighWaterStorage() {
    if (!isset($this->highWaterStorage)) {
      $this->highWaterStorage = \Drupal::keyValue('migrate:high_water');
    }
    return $this->highWaterStorage;
  }

  /**
   * {@inheritdoc}
   */
  public function getHighWater() {
    return $this
      ->getHighWaterStorage()
      ->get($this
      ->id());
  }

  /**
   * {@inheritdoc}
   */
  public function saveHighWater($high_water) {
    $this
      ->getHighWaterStorage()
      ->set($this
      ->id(), $high_water);
  }

  /**
   * {@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();
    }

    /** @var \Drupal\migrate\Entity\MigrationInterface[] $required_migrations */
    $required_migrations = $this
      ->getEntityManager()
      ->getStorage('migration')
      ->loadMultiple($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,
      ]);
    }
  }

  /**
   * Get the entity manager.
   *
   * @return \Drupal\Core\Entity\EntityManagerInterface
   *   The entity manager.
   */
  protected function getEntityManager() {
    if (!isset($this->entityManager)) {
      $this->entityManager = \Drupal::entityManager();
    }
    return $this->entityManager;
  }

  /**
   * {@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);
    }
    return parent::set($property_name, $value);
  }

  /**
   * {@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 getSystemOfRecord() {
    return $this->systemOfRecord;
  }

  /**
   * {@inheritdoc}
   */
  public function setSystemOfRecord($system_of_record) {
    $this->systemOfRecord = $system_of_record;
    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() {
    return $this->migration_dependencies + [
      'required' => [],
      'optional' => [],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function trustData() {

    // Migrations cannot be trusted since they are often written by hand and not
    // through a UI.
    $this->trustedData = FALSE;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function calculateDependencies() {
    parent::calculateDependencies();
    $this
      ->calculatePluginDependencies($this
      ->getSourcePlugin());
    $this
      ->calculatePluginDependencies($this
      ->getDestinationPlugin());

    // Add hard dependencies on required migrations.
    $dependencies = $this
      ->getEntityManager()
      ->getStorage($this->entityTypeId)
      ->getVariantIds($this
      ->getMigrationDependencies()['required']);
    foreach ($dependencies as $dependency) {
      $this
        ->addDependency('config', $this
        ->getEntityType()
        ->getConfigPrefix() . '.' . $dependency);
    }
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigEntityBase::$isSyncing private property Whether the config is being created, updated or deleted through the import process.
ConfigEntityBase::$isUninstalling private property Whether the config is being deleted by the uninstall process.
ConfigEntityBase::$langcode protected property The language code of the entity's default language.
ConfigEntityBase::$originalId protected property The original ID of the configuration entity.
ConfigEntityBase::$pluginConfigKey protected property The name of the property that is used to store plugin configuration.
ConfigEntityBase::$status protected property The enabled/disabled status of the configuration entity. 2
ConfigEntityBase::$third_party_settings protected property Third party entity settings.
ConfigEntityBase::$trustedData protected property Trust supplied data and not use configuration schema on save.
ConfigEntityBase::$uuid protected property The UUID for this entity.
ConfigEntityBase::addDependency protected function Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
ConfigEntityBase::createDuplicate public function Creates a duplicate of the entity. Overrides Entity::createDuplicate 1
ConfigEntityBase::disable public function Disables the configuration entity. Overrides ConfigEntityInterface::disable 1
ConfigEntityBase::enable public function Enables the configuration entity. Overrides ConfigEntityInterface::enable
ConfigEntityBase::get public function Returns the value of a property. Overrides ConfigEntityInterface::get
ConfigEntityBase::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. Overrides Entity::getCacheTagsToInvalidate 1
ConfigEntityBase::getConfigDependencyName public function Gets the configuration dependency name. Overrides Entity::getConfigDependencyName
ConfigEntityBase::getConfigManager protected static function Gets the configuration manager.
ConfigEntityBase::getConfigTarget public function Gets the configuration target identifier for the entity. Overrides Entity::getConfigTarget
ConfigEntityBase::getDependencies public function Gets the configuration dependencies. Overrides ConfigEntityInterface::getDependencies
ConfigEntityBase::getOriginalId public function Gets the original ID. Overrides Entity::getOriginalId
ConfigEntityBase::getThirdPartyProviders public function Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface::getThirdPartyProviders
ConfigEntityBase::getThirdPartySetting public function Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface::getThirdPartySetting
ConfigEntityBase::getThirdPartySettings public function Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface::getThirdPartySettings
ConfigEntityBase::getTypedConfig protected function Gets the typed config manager.
ConfigEntityBase::hasTrustedData public function Gets whether on not the data is trusted. Overrides ConfigEntityInterface::hasTrustedData
ConfigEntityBase::invalidateTagsOnDelete protected static function Override to never invalidate the individual entities' cache tags; the config system already invalidates them. Overrides Entity::invalidateTagsOnDelete
ConfigEntityBase::invalidateTagsOnSave protected function Override to never invalidate the entity's cache tag; the config system already invalidates it. Overrides Entity::invalidateTagsOnSave
ConfigEntityBase::isInstallable public function Checks whether this entity is installable. Overrides ConfigEntityInterface::isInstallable 2
ConfigEntityBase::isNew public function Overrides Entity::isNew(). Overrides Entity::isNew
ConfigEntityBase::isSyncing public function Returns whether this entity is being changed as part of an import process. Overrides ConfigEntityInterface::isSyncing
ConfigEntityBase::isUninstalling public function Returns whether this entity is being changed during the uninstall process. Overrides ConfigEntityInterface::isUninstalling
ConfigEntityBase::link public function Deprecated way of generating a link to the entity. See toLink(). Overrides Entity::link
ConfigEntityBase::onDependencyRemoval public function Informs the entity that entities it depends on will be deleted. Overrides ConfigEntityInterface::onDependencyRemoval 4
ConfigEntityBase::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. Overrides Entity::preDelete 7
ConfigEntityBase::preSave public function Acts on an entity before the presave hook is invoked. Overrides Entity::preSave 12
ConfigEntityBase::save public function Saves an entity permanently. Overrides Entity::save 1
ConfigEntityBase::setOriginalId public function Sets the original ID. Overrides Entity::setOriginalId
ConfigEntityBase::setSyncing public function Sets the status of the isSyncing flag. Overrides ConfigEntityInterface::setSyncing
ConfigEntityBase::setThirdPartySetting public function Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface::setThirdPartySetting
ConfigEntityBase::setUninstalling public function
ConfigEntityBase::sort public static function Helper callback for uasort() to sort configuration entities by weight and label. 6
ConfigEntityBase::status public function Returns whether the configuration entity is enabled. Overrides ConfigEntityInterface::status 2
ConfigEntityBase::toArray public function Gets an array of all property values. Overrides Entity::toArray 2
ConfigEntityBase::toUrl public function Gets the URL object for the entity. Overrides Entity::toUrl
ConfigEntityBase::unsetThirdPartySetting public function Unsets a third-party setting. Overrides ThirdPartySettingsInterface::unsetThirdPartySetting
ConfigEntityBase::url public function Gets the public URL for this entity. Overrides Entity::url
ConfigEntityBase::urlInfo public function Gets the URL object for the entity. Overrides Entity::urlInfo
ConfigEntityBase::__construct public function Constructs an Entity object. Overrides Entity::__construct 10
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function Aliased as: traitSleep 1
DependencySerializationTrait::__wakeup public function 2
DependencyTrait::addDependencies protected function Adds multiple dependencies.
DependencyTrait::addDependency protected function Adds a dependency. Aliased as: addDependencyTrait
Entity::$enforceIsNew protected property Boolean indicating whether the entity should be forced to be new.
Entity::$entityTypeId protected property The entity type.
Entity::$typedData protected property A typed data object wrapping this entity.
Entity::access public function Checks data value access. Overrides AccessibleInterface::access 1
Entity::bundle public function Gets the bundle of the entity. Overrides EntityInterface::bundle 1
Entity::create public static function Overrides EntityInterface::create
Entity::delete public function Deletes an entity permanently. Overrides EntityInterface::delete 2
Entity::enforceIsNew public function Enforces an entity to be new. Overrides EntityInterface::enforceIsNew
Entity::entityManager Deprecated protected function Gets the entity manager.
Entity::entityTypeManager protected function Gets the entity type manager.
Entity::getCacheContexts public function The cache contexts associated with this object. Overrides RefinableCacheableDependencyTrait::getCacheContexts
Entity::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides RefinableCacheableDependencyTrait::getCacheMaxAge
Entity::getCacheTags public function The cache tags associated with this object. Overrides RefinableCacheableDependencyTrait::getCacheTags
Entity::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. Overrides EntityInterface::getConfigDependencyKey
Entity::getEntityType public function Gets the entity type definition. Overrides EntityInterface::getEntityType
Entity::getEntityTypeId public function Gets the ID of the type of the entity. Overrides EntityInterface::getEntityTypeId
Entity::getTypedData public function Gets a typed data object for this entity object. Overrides EntityInterface::getTypedData
Entity::hasLinkTemplate public function Indicates if a link template exists for a given key. Overrides EntityInterface::hasLinkTemplate
Entity::id public function Gets the identifier. Overrides EntityInterface::id 11
Entity::label public function Gets the label of the entity. Overrides EntityInterface::label 5
Entity::language public function Gets the language of the entity. Overrides EntityInterface::language 1
Entity::languageManager protected function Gets the language manager.
Entity::linkTemplates protected function Gets an array link templates. 1
Entity::load public static function Overrides EntityInterface::load
Entity::loadMultiple public static function Overrides EntityInterface::loadMultiple
Entity::postCreate public function Acts on an entity after it is created but before hooks are invoked. Overrides EntityInterface::postCreate 4
Entity::postDelete public static function Acts on deleted entities before the delete hook is invoked. Overrides EntityInterface::postDelete 14
Entity::postLoad public static function Acts on loaded entities. Overrides EntityInterface::postLoad 2
Entity::postSave public function Acts on a saved entity before the insert or update hook is invoked. Overrides EntityInterface::postSave 20
Entity::preCreate public static function Changes the values of an entity before it is created. Overrides EntityInterface::preCreate 6
Entity::referencedEntities public function Gets a list of entities referenced by this entity. Overrides EntityInterface::referencedEntities 1
Entity::toLink public function Generates the HTML for a link to this entity. Overrides EntityInterface::toLink
Entity::uriRelationships public function Returns a list of URI relationships supported by this entity. Overrides EntityInterface::uriRelationships
Entity::urlRouteParameters protected function Gets an array of placeholders for this entity. 1
Entity::uuid public function Gets the entity UUID (Universally Unique Identifier). Overrides EntityInterface::uuid 1
Entity::uuidGenerator protected function Gets the UUID generator.
Entity::__sleep public function 5
Migration::$dependencies protected property The migration's configuration dependencies. Overrides DependencyTrait::$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::$entityManager protected property The entity manager.
Migration::$highWaterProperty protected property Information on the high water mark.
Migration::$highWaterStorage protected property
Migration::$id protected property The migration ID (machine name).
Migration::$idMap protected property The identifier map data.
Migration::$idMapPlugin protected property The identifier map.
Migration::$label protected property The human-readable label for the migration.
Migration::$migration_dependencies protected property These migrations, if run, must be executed before this migration.
Migration::$process protected property The configuration describing the process plugins.
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::$sourceRowStatus protected property Specify value of source_row_status for current map row. Usually set by MigrateFieldHandler implementations.
Migration::$statusLabels protected property Labels corresponding to each defined status.
Migration::$systemOfRecord protected property Indicate whether the primary system of record for this migration is the source, or the destination (Drupal). In the source case, migration of an existing object will completely replace the Drupal object with data from the source side. In the…
Migration::$template protected property The ID of the template from which this migration was derived, if any.
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::calculateDependencies public function Calculates dependencies and stores them in the dependency property. Overrides ConfigEntityBase::calculateDependencies
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::getDestinationPlugin public function Returns the initialized destination plugin. Overrides MigrationInterface::getDestinationPlugin
Migration::getEntityManager protected function Get the entity manager.
Migration::getHighWater public function The current value of the high water mark. Overrides MigrationInterface::getHighWater
Migration::getHighWaterStorage protected function Get the high water storage object.
Migration::getIdMap public function Returns the initialized id_map plugin. Overrides MigrationInterface::getIdMap
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
Migration::getProcess public function Get the normalized process pipeline configuration describing the process plugins. Overrides MigrationInterface::getProcess
Migration::getProcessNormalized protected function Resolve shorthands into a list of plugin configurations.
Migration::getProcessPlugins public function Returns the process plugins. Overrides MigrationInterface::getProcessPlugins
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::getSystemOfRecord public function Get the current system of record of the migration. Overrides MigrationInterface::getSystemOfRecord
Migration::interruptMigration public function Signal that the migration should be interrupted with the specified result code. Overrides MigrationInterface::interruptMigration
Migration::isTrackLastImported public function Checks if the migration should track time of last import. Overrides MigrationInterface::isTrackLastImported
Migration::mergeProcessOfProperty public function Merge the process pipeline configuration for a single property. Overrides MigrationInterface::mergeProcessOfProperty
Migration::saveHighWater public function Save the new high water mark. Overrides MigrationInterface::saveHighWater
Migration::set public function Sets the value of a property. Overrides ConfigEntityBase::set
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 Sets the status of the configuration entity. Overrides ConfigEntityBase::setStatus
Migration::setSystemOfRecord public function Set the system of record for the migration. Overrides MigrationInterface::setSystemOfRecord
Migration::setTrackLastImported public function Set if the migration should track time of last import. Overrides MigrationInterface::setTrackLastImported
Migration::trustData public function Sets that the data should be trusted. Overrides ConfigEntityBase::trustData
MigrationInterface::DESTINATION constant A constant used for systemOfRecord.
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::SOURCE constant A constant used for systemOfRecord.
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.
PluginDependencyTrait::calculatePluginDependencies protected function Calculates and adds dependencies of a specific plugin instance. 1
RefinableCacheableDependencyTrait::$cacheContexts protected property Cache contexts.
RefinableCacheableDependencyTrait::$cacheMaxAge protected property Cache max-age.
RefinableCacheableDependencyTrait::$cacheTags protected property Cache tags.
RefinableCacheableDependencyTrait::addCacheableDependency public function 1
RefinableCacheableDependencyTrait::addCacheContexts public function
RefinableCacheableDependencyTrait::addCacheTags public function
RefinableCacheableDependencyTrait::mergeCacheMaxAge public function