• урок
  • pantey

Миграция контента в Drupal 8 с использованием пользовательского интерфейса

22.06.2016

Drupal 8 принес много изменений в нашу CMF, кому то они пришлись по вкусу, кому то, показались излишними и очень сложными, но равнодушных явно не осталось. Сегодня, мы с вами займемся, наверное, в ближайшее время самым популярным видом работы у фрилансеров – переход на 8ку.

В новой ветке, такого понятия как обновления (upgrade) ядра - больше нет, т.е. мы с вами не может скопировать файлы Drupal 8 в корень нашего сайта, например на Drupal 7 и запустить update.php – как мы делали в предыдущих релизах движка.

Теперь единственный путь использовать новую ветку это – миграция. Благо разработчики не оставили нас наедине с данной проблемой и попытались максимально упростить нам жизнь и включили инструмент миграции в ядро движка. Этим самым инструментом стал модуль migrate (хотя и урезанная версия). Наверное, многие из вас уже успели с ним поработать, а те, кто впервые слышит – отличная возможность с ним познакомиться.

Модуль migrate позволяет импортировать контент из различных источников, не только внутри веток Drupal, но и сторонних БД, CSV, XML, JSON файлов или CMS. Миграция контента в Drupal 8 будет разбита на несколько уроков, ну а сейчас мы разберем самый простой из них – с использованием пользовательского интерфейса.

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

Миграция Drupal 7 → Drupal 8 с использование UI

У меня есть два сайта, один на Drupal 7 – с него мы будем экспортировать контент и Drupal 8 – в который мы будем импортировать наши материалы. Оба сайта расположены на локальном хосте.

Для этого активируем необходимые нам модули в Drupal 8:

 

  • Migrate – ядро миграции
  • Migrate Drupal - производит миграцию со старых версий движка
  • Migrate Drupal UI – предоставляет пользовательский интерфейс для миграции

Активируем необходимые модули

После чего идем по адресу

  1. sitename.ru/upgrade

Где, нам настоятельно рекомендуют проделать 5 пунктов перед миграцией

  • Создать бекап БД сайта
  • Убедиться, что вы имеете доступ к БД экспортируемого сайта
  • Убедиться что, все ваши приватные файлы так же находятся на локальном хосте сайта (в открытом доступе ), если таковые файлы имеются
  • Включить все модули, которые вы использовали на предыдущей ветке Drupal
  • Перевести сайт в режим обслуживания

Рекомендации перед миграцией

После того, как вы выполнили все рекомендации – жмем «Продолжить». Теперь перед нами открывается форма, где нам осталось лишь указать тип БД , параметры подключения к БД и путь к каталогу с файлами

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

Указываем параметры к БД и путь к файлам перед миграцией

И жмем «Обзор обновления», где мы увидим список того, что мы сможет импортировать, а что нам не удастся.

Хочу заметить, что многих модулей, таких как contextual или dashboard больше не существует в ядре Drupal 8, поэтому они будут указаны в списке того, что мы не сможем импортировать.

Список модулей, которые не удастся импортировать

После того, как вы убедились, что в данном списке нет критически важных для вас модулей – жмем «Выполнить обновление», где запустится процесс миграции контента.

Процесс миграции контента

После завершения миграции, вы должны увидеть ваш контент, пользователей, словари таксономии – если таковые имелись и т.д.

Процесс миграции завершен

Так же все события в процессе миграции записываются в лог, где вы можете посмотреть, что происходило на каждом этапе миграции

Записи в логах при процессе миграции

Данный способ, достаточно простой и подойдет для сайтов, в которых не было реализовано кастомных сущностей, иначе без написания своего модуля импорта не обойтись.

-->
Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.