При отладке миграций в Drupal могут возникать состояния, когда миграция не прошла по какой то причине (ошибке) и подвисла в состоянии отличном от Idle.
Читать далее »Записи с тегом ‘migration API’
При работе с migration API в друпал, в документации предполагается, что вы задаёте файл в секции source как значение path. (Подразумевается, что вы используете модуль migrate_source_csv).
Хотелось бы делать это через интерфейс, а не конфигурационные файлы. Т.е. идеальный процесс такой, что пользователь выбирает файл через форму миграции, запускается процесс миграции и пользователь видит этот процесс как стандартную batch — обработка в Drupal (аналогично тому как, например, выглядит загрузка переводов при установке модуля).
Читать далее »Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID.
Читать далее »Это пример миграции данных из CSV файла в Drupal.
Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом.
А далее мы используем migration_lookup, чтобы подтянуть айдишники параграфов и вставить их в нужное поле.
Читать далее »API миграции в Drupal позволяет «тащить» данные из разных источников, но работает это на базе контрибных модулей, т.е. не из коробки.
Например, модуль migrate_source_csv добавляет возможность добавить CSV файл как источник данных.
Читать далее »Термины представляют из себя отдельные сущности, которые подключаются к родительской entity в виде term reference. Потому классический подход — это отдельная предварительная миграция терминов, а потом подключение их, используя migration_lookup плагин.
Но на практике, вы скорее всего будет иметь термины в виде текстовых меток. И вам удобнее будет обработать их «на лету», без дополнительной отдельной миграции.
Именно для этого я и написал небольшой миграционный обработчик, который преобразует текстовую метку в ссылку на термин (создаёт или находит существующий).
Читать далее »Параграфы, оторванные от родительской entity нам не нужны, потому эта миграция является дочерней к рассматриваемому примеру миграции статей блога из CSV.
Читать далее »