Апгрейд Drupal-сайту за допомогою Drush

01.04.2016
Апгрейд Drupal-сайту за допомогою Drush
Автор:

Чудовим помічником в роботі з Drupal-сайтами є інтерфейс командного рядка Drush. Він пропонує безліч корисних команд для роботи з модулями, темами, профілями тощо. Ці команди покликані значно полегшити життя розробника.

Сьогодні ми обговоримо, як використовувати Drush, якщо ви хочете апгрейднути свій Drupal-сайт з 6-ї чи 7-ї до 8-ї версії. Drush зекономить вам багато часу і сил у цьому процесі.

Обновіть Drush

Перш за все, вам потрібна найновіша версія Drush. Перевірте версію Drush за допомогою команди drush --version. Завантажити останню версію Drush можна, наприклад, на GitHub. Можете використати Composer для завантаження всіх пакетів. Ось посилання, яке допоможе вам з інструкцією щодо встановлення Drush.

Модуль Migrate Upgrade

Щоб використовувати Drush для апгрейду, вам потрібен модуль Migrate Upgrade. Він забезпечує підтримку Drush під час апгрейду с Drupal 6 чи 7 на Drupal 8. Модуль Migrate Upgrade готує необхідні міграції, налаштовує та запускає їх.

Вам також знадобиться модуль Migrate Tools, який додасть необхідні команди, такі як:

  • migrate-status — надає список міграцій та їхній статус;
  • migrate-import — імпортує міграції;
  • migrate-rollback — виконує операції з відкату;
  • migrate-stop — зупиняє процес міграції;
  • migrate-reset-status — ставить статус міграції як Idle;
  • migrate-messages — надає список повідомлень, пов’язаних з імпортом.

Перед початком процесу апгрейду дуже рекомендується забекапити сайт, з якого робиться апгрейд. Також варто не використовувати лайв-версію сайту, на який робиться апгрейд (наприклад, можна зробити його копію).

Кожен модуль, який потрібно апгрейднути, повинен бути увімкненим на обох сайтах.

Зверніть увагу, що метод Drush Migrate Upgrade чудово підходить для сайтів, у яких немає складного функціоналу. Він успішно перенесе ваш контент, таксономію, такі сутності, як коментарі, але ненабагато більше. Для того щоб працювала міграція контрибних модулів, потрібно, щоб їхні розробники написали класи міграції, а більшість із них цього не зробила. Якщо вам потрібно апгрейднути більш складний сайт, гарним рішенням буде зв’язатися з Drupal-агенцією — наприклад, нашою. В такому випадку розробники з досвідом візьмуть на себе всі тонкощі апгрейду.

Модуль Migrate Upgrade приводиться в дію за допомогою команди drush migrate-upgrade.

А ось і ця «магічна» команда:

 drush migrate-upgrade --legacy-db-url=mysql://user:pass@localhost/d6db --legacy-root=http://my-old-site.name

Опція “configure-only”

Ось опція команди migrate-upgrade, що називається --configure-only. Вона надасть вам більше гнучкості в запуску міграцій.

 drush migrate-upgrade --legacy-db-url=mysql://user:password@server/db --legacy-root=http://my-old-site.name --configure-only

Як це працює? Зазвичай процес апгрейду складається з 2 основних фаз:

  • конфігурація — тут аналізується база даних, і відповідні міграції налаштовуються і готуються до запуску;
  • імпорт — тут всі вищезазначені міграції виконуються.

Однак, якщо ви оберете опцію --configure-only, відбудеться тільки перша фаза, і ви зможете обрати, які міграції запускати, а які — ні. За допомогою команди drush migrate-status (ms) ви зможете побачити всі міграції, а з допомогою drush migrate-import {migration name} — виконати окремі міграції. Якщо на цьому етапі ви вирішите, що потрібно виконувати всі міграції, то команда drush migrate-import --all у вашому розпорядженні.

Бездоганного вам апгрейду за допомогою Drush — насолоджуйтесь перевагами нової версії Drupal! Невеличкий огляд цих переваг доступний у наших блогах Покращення в Drupal 8: частина 1 і частина 2. Якщо ж вас цікавлять статті, більш насичені технічними деталями та прикладами з досвіду, читайте блоги наших розробників: Створення попапів у Drupal 8, Темізація в Drupal 8, Використання Twig в Drupal 8, Конфігурація в Drupal 8, Поради з розробки на Drupal 8.

Голосів: 1 Рейтинг: 5

Також по темі

1

Фреймворк для побудови сайтів Drupal пропонує величезний вибір вбудованих та контрибних модулів, здатних значно розширити функціонал сайту....

2

Drupal 7… як він вплине на оновлення вашого сайту? Ми можемо сказати, що зміни він принесе значні, адже різниця між Drupal 6 та Drupal 7...

3

Створення rtl сss — важливий процес, який потрібен для адаптацї дизайну до стандартів rtl. Цей процес передбачає заміну margin-left на margin-right, float: left на...

4

В наш час величезна кількість людей слідкують за новинами сайтів прямо з соцмереж. Тому, щоб полегшити собі життя і не робити подвійну роботу з розміщення матеріалів у себе на сайті і на сторінці...

5

Як ми часто спостерігаємо в історичних фільмах і книгах, після смерті короля натовп кричить “Король помер, хай живе король!” з такою короткою паузою між цими двома фразами, що немає коли сумувати...

Subscribe to our blog updates