diff -u b/core/modules/migrate_drupal/migrate_drupal.module b/core/modules/migrate_drupal/migrate_drupal.module --- b/core/modules/migrate_drupal/migrate_drupal.module +++ b/core/modules/migrate_drupal/migrate_drupal.module @@ -95,63 +95,31 @@ // dN_node_master migration and not any other dN_node* migration. Alter all // instances of migration_lookup in core migrations to use dN_node_master. if (_isMultilingualSource($definitions)) { - foreach ($definitions as &$definition) { - if (!preg_match('/d([67])_(node|node_translation|node_revision)($|:.*)/', $definition['id'])) { - $properties = ['process', 'destination', 'migration_dependencies']; - foreach ($properties as $property) { - if (isset($definition[$property])) { - array_walk_recursive($definition[$property], function (&$value) { - if (is_string($value)) { - $value = preg_replace('/d([67])_(node|node_translation|node_revision)($|:.*)/', 'd$1_node_master$3', $value); - } - return $value; - }); - } - } - } - } - if (isset($definitions['d6_comment'])) { - $definitions['d6_comment']['process']['entity_id'][2] = [ - 'plugin' => 'node_master_node_lookup', - ]; + $definitions['d6_comment']['process']['entity_id'][2]['plugin'] = 'migration_lookup_node'; } if (isset($definitions['d6_term_node'])) { - $definitions['d6_term_node']['process']['nid'][2] = [ - 'plugin' => 'node_master_node_lookup', - ]; + $definitions['d6_term_node']['process']['nid'][2]['plugin'] = 'migration_lookup_node'; } if (isset($definitions['d6_term_node_revision'])) { - $definitions['d6_term_node_revision']['process']['nid'][2] = [ - 'plugin' => 'node_master_node_lookup', - ]; + $definitions['d6_term_node_revision']['process']['nid'][2]['plugin'] = 'migration_lookup_node'; } if (isset($definitions['d6_term_node_translation'])) { - $definitions['d6_term_node_translation']['process']['dest_nid'][2] = [ - 'plugin' => 'node_master_node_translation_lookup', - ]; + $definitions['d6_term_node_translation']['process']['dest_nid'][2]['plugin'] = 'migration_lookup_node'; } if (isset($definitions['d6_url_alias'])) { - $definitions['d6_url_alias']['process']['node_translation'][3] = [ - 'plugin' => 'node_master_node_translation_lookup', - ]; + $definitions['d6_url_alias']['process']['node_translation'][3]['plugin'] = 'migration_lookup_node'; } if (isset($definitions['d7_comment'])) { - $definitions['d7_comment']['process']['entity_id'][2] = [ - 'plugin' => 'node_master_node_lookup', - ]; + $definitions['d7_comment']['process']['entity_id'][2]['plugin'] = 'migration_lookup_node'; } if (isset($definitions['d7_url_alias'])) { - $definitions['d7_url_alias']['process']['node_translation'][3] = [ - 'plugin' => 'node_master_node_translation_lookup', - ]; + $definitions['d7_url_alias']['process']['node_translation'][3]['plugin'] = 'migration_lookup_node'; } if (isset($definitions['statistics_node_counter'])) { - $definitions['statistics_node_counter']['process']['nid'][2] = [ - 'plugin' => 'node_master_node_lookup', - ]; + $definitions['statistics_node_counter']['process']['nid'][0]['plugin'] = 'migration_lookup_node'; } } @@ -176,14 +144,12 @@ // @todo: do something useful. } $status = FALSE; - if ($connection) { - if ($connection->schema()->tableExists('system')) { - // Connect to source database. - $status = $connection->query("SELECT status FROM {system} WHERE name = :name and type = :type", [ - ':name' => 'i18n', - ':type' => 'module', - ])->fetchField(); - } + if ($connection && $connection->schema()->tableExists('system')) { + // Connect to source database. + $status = $connection->query("SELECT status FROM {system} WHERE name = :name and type = :type", [ + ':name' => 'i18n', + ':type' => 'module', + ])->fetchField(); } return ($status === '1') ? TRUE : FALSE; } reverted: --- b/core/modules/migrate_drupal/src/Plugin/migrate/process/NodeMasterNodeLookup.php +++ /dev/null @@ -1,36 +0,0 @@ -configuration; + $configuration['migration'] = preg_replace('/d([67])_(node|node_translation|node_revision)($|:.*)/', 'd$1_node_master$3', $configuration['migration']); + $ml = new MigrationLookup($configuration, $this->pluginId, $this->pluginDefinition, $this->migration, $this->migrationPluginManager); + $master_value = $ml->transform($value, $migrate_executable, $row, $destination_property); + $node_value = ($master_value) ?? $master_value[0]; + } + return $node_value; + } + +}