Импорт CSV-файла в Drupal с помощью модуля Migrate. Хотите, чтобы узлы принадлежали администратору - PullRequest
0 голосов
/ 10 февраля 2012

При импорте с использованием команды drush migrate-import все созданные узлы принадлежат анонимным пользователям.Я бы хотел, чтобы они принадлежали пользователю-администратору или другому пользователю.

Ответы [ 2 ]

3 голосов
/ 11 февраля 2012

Если вы используете графический интерфейс для импорта в .CSV, вам может понадобиться специальный скрипт, подобный приведенному выше.

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

<code>
<?php
 $this->addFieldMapping('uid')->defaultValue('1');
?>
</code>

Значение по умолчанию '1' должно быть UID любого пользователя, которым вы хотите быть автором.

Обязательно посмотрите прилагаемые примеры миграции пива и вина, поставляемые с модулем

0 голосов
/ 10 февраля 2012

Есть несколько способов сделать это, но это, вероятно, самый быстрый способ:

  1. В командной строке mysql или drush sqlc найдите самый высокий идентификатор узла перед импортом:

    ВЫБРАТЬ МАКС (nid) ОТ узла;

  2. Импортируйте ваши узлы.

  3. Найдите uid пользователя, для которого вы хотите установить владельца.

    ВЫБЕРИТЕ идентификатор пользователя, ГДЕ имя = 'Администратор';

  4. Выполните запрос на обновление для массового обновления узлов:

    ОБНОВЛЕНИЕ узла SET uid = x ГДЕ nid> y;

    Где x = uid пользователя-администратора, а y = max nid + 1

...