Добрый день!
При попытке выполнить миграцию с Drupal 7 на Drupal 8 не перенеслась огромная часть контента, остальное переносилось почти неделю с постоянным зависанием, ошибками 500.
Есть ли инструкция по переносу контента с помощью модулей экспорта-импорта? Пробовали Views Data Export, Features, не удается разобраться, как именно экспортировать контент.
Подскажите, пожалуйста.
Комментарии
Там же в ядре есть встроенные миграции.
Да, больше недели пытались мигрировать встроенным модулем Migrate, постоянно выдавались ошибки, что не перенеслись материалы из-за того, что не прикреплены к пользователям (не дословно). Видимо, нужно сначала переносить пользователей, как-то указывать это в настройках, не нашел.
Потом больше 5 дней переносил только подписчиков рассылки, хотя выделенный сервер для высоконагруженных cms (проблема описана на drupal.org, решения нет). В итоге постоянные ошибки 500. Поэтому ищу способы миграции контента вручную или другим модулем.
Попытался еще раз запустить миграцию. Вот такие ошибки выдает в больших количествах на разные типы материалов:
Содержимое остается пустым. Возможно, если разобраться с этой ошибкой, можно будет мигрировать. Помогите, пожалуйста.
Что именно не понятно? Принцип работы?
Да, возможно ли сохранить все связи и отношения при экспорте, насколько корректен будет такой вид миграции?
Также возможно удалось бы мигрировать с помощью Migrate, если разобраться в этом
Пока не нашел на иностранных сайтах о друпале, с чем эта ошибка связана.
Непосредственно для "стандартной" миграции с 7 на 8 модуль Migrate не использовал,
но судя по содержанию ошибок, наверное на сайте друпал7 есть "дополнительные" бандлы(bundle) нод (fairy, family и т.п.) с "дополнительными" полями.
И наверное для этих бандлов где-то в админке migrate необходимо добавить миграции для этих бандлов, с настройкой соответствия полей друпад7->друпал8.
Т.е. какое поле бандла друпад7 соответствует полю соответствующего бандла друпал8.
А вообще, полный функционал модуля Migrate на пару порядков мощнее "стандартных" миграций drupalN > друпал8.
Он может импортировать данные сущностей(материалов) практически из любого формата (сторонняя БД, csv-json-xml файлы и т.п.)
С преобразованием исходных значений-форматов полей в процессе импорта, с учетом всех связей материалов и т.п.
ЗЫ. для добавления кастомных миграций необходимо установить вспомагательные модули migrate_tools и migrate_plus
в коде данных модулей есть примеры миграций, глядя на которые не очень сложно добавить свои.
Так же в интернетах есть куча текстовых и видео руководств по настройке кастомных миграций.
На английском так вообще море.
Спасибо, да, установлены migrate_tools и migrate_plus, но в ходе миграции не появляются дополнительные настройки, кроме стандартных - исходная база данных и путь к файлам сайта.
Их необходимо указывать вручную в файлах модуля? Обновиться пытаюсь без помощи drush.
Кажется, разгадка совсем близко
https://www.drupal.org/project/drupal/issues/2916266
Помогите, пожалуйста, правильно составить функцию для
<?phpfunction my_module_update_8001() {
## Fixes:
## A non-existent config entity name returned by FieldStorageConfigInterface::getBundles(): entity type: node, bundle: comment_node_ffilm, field name: field_filesize
$entity_type = 'node';
$bundle = 'comment_node_ffilm';
$field_name = 'field_filesize';
/** @var \Drupal\Core\KeyValueStore\KeyValueFactoryInterface $key_value_factory */
$key_value_factory = \Drupal::service('keyvalue');
$field_map_kv_store = $key_value_factory->get('entity.definitions.bundle_field_map');
$map = $field_map_kv_store->get($entity_type);
// Remove the field_dates field from the bundle field map for the page bundle.
unset($map[$field_name]['bundles'][$bundle]);
$field_map_kv_store->set($entity_type, $map);
}?>
Вот здесь нашел возможно нужную инструкцию.
https://www.drupal.org/docs/8/api/migrate-api/executing-migrations
Помогите, пожалуйста, понять, какие бандлы нод необходимо добавить и где это можно сделать в админке?
Есть еще вариант, что тут /admin/structure/migrate, но тоже не разберусь никак.
Есть еще мысль: https://www.drupal.org/project/drupal/issues/3005718
Ошибка возникла из-за комментариев, которые должны переноситься после миграции нод.
Буду очень благодарен, если поможете решить вопрос, как настроить, чтобы первыми переносились пользователи и ноды.
Если контрибы не помогают, то сделай структуру на D8 и сосани с D7 json контент благо D8 под объекты заточена.
Подскажите, пожалуйтса, статью, где подробно, лучше на русском рассказывают, как добавить нужные бандлы.
К примеру, вот с такой ошибкой:
И с такой:
Или вот такая ошибка:
Вы типы нод, типы комментов и филды мигрировали?
Похоже, что нет. Как можно указать, чтобы выполнилась их миграция?
Сейчас по окончанию миграции вот такое сообщение:
В логах ошибок:
Самый надёжный способ - это создать её и выполнить.
Установлены модули Migrate Tools, Migrate Plus. Помогите, пожалуйста, с инструкцией для создания необходимых настроек миграции.