Drupal 8 настільки приваблює своїми інноваціями, що так і хочеться... спакувати речі і переїхати! ;) Міграція на «вісімку» — справа відповідальна, і для неї існує спеціальний інструмент під назвою Migrate API, який допоможе правильно «спакувати» весь контент і конфігурації вашого сайту та «перевезти» їх на Drupal 8. Під час звичайного переїзду легкість процесу залежить від того, наскільки ваші речі легко розмістяться, скажімо, в стандартні коробки. Так і з сайтом: чим менше на ньому кастомного функціоналу, тим швидшим буде процес апгрейду. Ми торкнемося цих та багатьох інших моментів, обговорюючи Migrate API, його переваги, важливі модулі та сам процес міграції.
Migrate API: все найкраще — в ядрі Drupal 8!
Так, всі найкращі модулі опиняються в ядрі Drupal’а, а найперспективніші ідеї народжуються на ДрупалКонах. На одному з них — ДрупалКоні в Празі — відбулося обговорення щодо створення покращеної та потужної системи для міграції у «великій вісімці». Вона повинна була успадкувати найкращі ідеї від модуля Migrate у Drupal 7, але забезпечити набагато легший та вдосконалений процес міграції з ширшими можливостями.
Місію виконано! Ядро Drupal 8 отримало інструмент Migrate API, що був доданий як набір експериментальних модулів, але вдосконалювався, здобував довіру, і щойно (починаючи з підверсії 8.2.5) досяг бета-стабільності.
Migrate API може вам запропонувати:
- надійний та, при необхідності, повторюваний процес міграції з Drupal 7 чи 6 на Drupal 8
- міграцію безпосередньо з Drupal 6 на Drupal 8
- міграцію на Drupal з інших джерел
- жодної потреби в оновленні PHP (як це було раніше)
- зручний інтерфейс та інтеграцію Drush (читайте також поради щодо апгрейду за допомогою Drush)
- детальну документацію
- шаблони міграції
- легкий відкат змін
Модулі у складі Migrate API
Зараз це «велика трійка», хоча спочатку була «велика двійка» — до виходу підверсії Drupal 8.1, коли «компанію» доповнив модуль Migrate UI. Отже, ось вони:
- модуль Migrate забезпечує основний функціонал API для апгрейду
- модуль Migrate Drupal пропонує спеціальні конфігурації для переходу з Drupal 6 на Drupal 8 та з Drupal 7 на Drupal 8
- модуль Migrate Drupal UI має зручний інтерейс, який можна використовувати замість Drush
Додаткові модулі для роботи з Migrate API
Це ще не все, бо процес міграції з Migrate API можна ще більше вдосконалити, використовуючи додаткові контрибні модулі. Ось декілька з них.
Модуль Migrate Tools пропонує інтерфейс для списку міграцій та показу повідомлень, ну і, звісно, основні міграційні команди Drush:
- drush migrate-status
- drush migrate-import
- drush migrate-rollback
- drush migrate-stop
- drush migrate-reset-status
- drush migrate-messages
Модуль Migrate upgrade раніше мав інтерфейс, який став частиною ядра, тож зараз основне призначення модуля — забезпечувати важливі команди Drush для апгрейду між різними версіями Drupal’а та для відкату змін у разі необхідності:
- drush migrate-upgrade
- drush migrate-upgrade-rollback
За допомогою модуля Migrate Plus ви можете особливо вдосконалити кастомну міграцію. Він пропонує додатковий функціонал, зокрема, для групування міграцій, а також плагіни для парсингу XML та JSon, які імпортують дані з файлових джерел.
Модуль Migrate Manifest дозволить вам запускати вибрані міграції, визначені у manifest-файлі.
Ну і, наостанок, якщо ви зацікавлені в переході з Wordpress на Drupal (перегляньте порівняння), для вас є модуль Wordpress migrate, який допоможе експортувати Wordpres-файли і перенести їх на Drupal.
Шаблони міграції
Багато роботи уже зроблено для полегшення процесу міграції! В Drupal 8 є багато готових шаблонів міграції для ядра, що зберігаються у YAML-файлах. У випадку з контрибними модулями також можуть бути деякі готові файли, тож варто перевірити це. Але що стосується кастомного функціоналу, готуйтеся створювати власні кастомні міграційні файли. Хоча завжди можна, як варіант, доручити це професійним розробникам.
Процес міграції за допомогою Migrate API з Drupal 7 або 6 на Drupal 8
- Перед апгрейдом рекомендується свіжа інсталяція Drupal 8, адже це суттєво полегшить процес.
- Потрібно «розповісти» Drupal’у, як зв’язатися з вихідною базою даних, наприклад, у файлі settings.php.
- Увімкніть всі модулі, які потрібно перенести, на обох сайтах (тому, з якого переносите, і тому, на який переносите).
- Запустіть міграцію за допомогою Drush або інтерфейсу, як вам зручніше.
- Перегляньте результат.
- При необхідності зробіть відкат змін.
- Після цього деінсталюйте модулі міграції.
- Готово!
Бажаємо ідеально гладенького процесу міграції за допомогою Migrate API, а також — чудового старту для вашого сайту на Drupal 8! Апгрейди на «вісімку» стали такою популярною послугою, особливо після завершення підтримки Drupal 6, що ми вже ідеально відточили майстерність у цій справі. Тож яким би складним не був ваш сайт та скільки б там не було кастомного функціоналу, з нами все пройде бездоганно. Міграція може початися з маленького кроку — напишіть нам просто зараз ;)