Рейтинг:0

Как фильтровать idlist в командной строке при импорте данных через миграцию

флаг ng

Я знаю, что действительно что-то здесь упускаю. У меня есть настраиваемый плагин источника миграции, который требует возврата запроса().

Если я пройду --idlist=123 Параметр с импортом, этот запрос по-прежнему выполняется на всех узлах, поскольку нет возможности динамически ограничить его. Что мне не хватает?

Предполагается, что миграция запросит устаревшую базу данных D7 для типов контента (события), а затем мне нужно обновить поля каждого результата в моем prepareRow(). Это работает, за исключением того, что запрос всегда возвращает все события. Я думаю, что неправильно понимаю необходимость/цель функции query().

введите описание изображения здесь

Рейтинг:1
флаг fr

Это известная проблема во время миграции. В Drupal.org есть открытые проблемы, но они еще не закрыты. Но пока у нас есть работа, чтобы решить эту проблему.

запрос публичной функции () {
    // Хак для получения idlist для фильтрации в командной строке
    $idlist = NULL;
    foreach ($_SERVER['argv'] как $arg) {
      если (strpos($arg, '--idlist') === 0) {
        список(, $idlist) = взорвать('=', $arg);
        $idlist = взорвать(',', $idlist);
        сломать;
      }
    }
$query = $this->select('узел', 'n')
  ->поля('n')
  ->orderBy('nid', 'ASC');

если ($idlist) {
  $query->условие('n.nid', $idlist, 'IN');
}

вернуть $запрос;
}

Затем используйте его следующим образом:

drush migrate:импорт example_node_articles --update --idlist=1234
 [уведомление] Обработан 1 элемент (0 создано, 1 обновлено, 0 не выполнено, 0 проигнорировано) - выполнено с помощью «example_node_articles»

Источник : https://www.drupal.org/project/migrate_tools/issues/3107400#comment-13428024

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.