Рейтинг:1

Перенос CSV на тип контента с абзацами

флаг de

Я пытаюсь импортировать CSV-файл в типы контента и абзацы, используя модуль Migrate (и в основном это руководство: https://mtech-llc.com/blog/charlotte-leon/migration-csv-data-paragraphs).

Для этого я создал специальный модуль в модули/пользовательские, и я добавил файлы .yml в конфигурация/установка.

Вот мои два .yml (produit_epargne для типа контента, а epargne_support для абзаца):

зависимости:
  принудительно:
    модуль:
      - produit_migration
идентификатор: produit_epargne
миграционная_группа: produit_group
источник:
  плагин: csv
  путь: public://csv/test_import_csv_migrate.csv
  идентификаторы: 
    [я бы]
  header_row_count: 1
  разделитель: ';'
  поля:
    - 
      имя: идентификатор
      метка: идентификатор
    - 
      имя: титул
      метка: название
    -
      имя: field_referent
      метка: field_referent
    -
      имя: field_fiches_gamme
      метка: field_fiches_gamme
    -
      имя: field_date_mise_a_jour
      метка: field_date_mise_a_jour
процесс:
  название: название
  поле_референт: поле_референт
  field_fiches_gamme: field_fiches_gamme
  field_date_mise_a_jour: 
    плагин: формат_дата
    from_format: Г-м-д
    to_format: Г-м-д
    источник: field_date_mise_a_jour
    field_supports/target_id:
      -
        плагин: migration_lookup
        миграция: epargne_supports
        no_stub: правда
        источник: идентификатор
      -
        плагин: извлечь
        показатель:
          - '0'
    field_supports/target_revision_id:
      -
        плагин: migration_lookup
        миграция: epargne_supports
        no_stub: правда
        источник: идентификатор
      -
        плагин: извлечь
        показатель:
          - 1
пункт назначения:
  плагин: 'сущность: узел'
  default_bundle: produit_epargne
миграция_зависимости:
  обязательный: 
    - epargne_support
  по желанию: { }
зависимости:
  принудительно:
    модуль:
      - produit_migration
идентификатор: epargne_support
миграционная_группа: produit_group
источник:
  плагин: csv
  путь: public://csv/test_import_csv_migrate.csv
  header_row_count: 1
  разделитель: ';'
  идентификаторы: 
    [я бы]
  поля:
    -
      имя: идентификатор
      метка: идентификатор
    - 
      имя: field_nb_fonds_euros
      метка: field_nb_fonds_euros
    - 
      имя: field_nb_fonds_thematiques
      метка: field_nb_fonds_thematiques
    - 
      имя: field_nb_support_fcpe
      метка: field_nb_support_fcpe
    - 
      имя: field_nb_support_uc
      метка: field_nb_support_uc
процесс:
  field_nb_fonds_euro: field_nb_fonds_euros
  field_nb_fonds_thematiques: field_nb_fonds_thematiques
  field_nb_support_fcpe: field_nb_support_fcpe
  field_nb_support_uc: field_nb_support_uc
пункт назначения:
  плагин: 'entity_reference_revisions:paragraph'
  default_bundle: epargne_supports
миграция_зависимости:
  обязательный:
    - файлы
  по желанию: { }

Но у меня есть две основные проблемы:

  1. Во-первых, миграционная группа produit_group не распознается, когда я запускаю: drush migrate:imports --group produit_group что, вероятно, является источником второй проблемы
  2. Во-вторых, когда я бегу drush migrate:импорт produit_epargne, он создает только типы контента без связанных с ним абзацев.

Кто-нибудь видит проблему в моем коде/конфигурации?

Lambic avatar
флаг ph
Это альтернативный подход: https://drupal.stackexchange.com/questions/278476/paragraphs-from-sub-process/278477#278477
miststudent2011 avatar
флаг fr
Это помогает? https://drupal.stackexchange.com/questions/299395/migrate-paragraphs-from-csv-file
miststudent2011 avatar
флаг fr
Команда неверна. Это должно быть `drush migrate:imports --group=produit_group`
CanardPpc avatar
флаг de
Спасибо за ваш ответ, к сожалению, у меня все еще те же проблемы. Команда также не меняет проблему.
Рейтинг:0
флаг us

Вот мои мысли для вашего кода. Надеюсь, это поможет!

#1 Так и должно быть миграция drush: импорт --group=produit_group вместо drush migrate:imports --group produit_group

# 2 Имя переноса абзаца неверно в приведенном ниже сопоставлении. Должен быть epargne_support вместо epargne_support

field_supports/target_id:
      -
        плагин: migration_lookup
        миграция: epargne_supports
        no_stub: правда
        источник: идентификатор
      -
        плагин: извлечь
        показатель:
          - '0'
    field_supports/target_revision_id:
      -
        плагин: migration_lookup
        миграция: epargne_supports
        no_stub: правда
        источник: идентификатор
      -
        плагин: извлечь
        показатель:
          - 1
CanardPpc avatar
флаг de
Спасибо за ваш ответ. Действительно, я неправильно написал имя своей миграции здесь, но у меня все еще есть те же проблемы. Независимо от того, какую команду я использую для запуска группы миграции, я получаю эту ошибку: * Вы должны объявить «id» как уникальный массив полей в исходных настройках. *. В моем понимании можно сказать, что миграционная группа с таким названием не найдена.
Pushpinder Rana avatar
флаг us
Эта ошибка похожа на эту - https://drupal.stackexchange.com/questions/297975/you-must-declare-ids-as-a-unique-array-of-fields-in-your-source-settings

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

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