Обновление ядра Drupal через Drush
Эта документация устарела. Помогите сделать ее актуальной.
Прежде чем вы начнете
Рекомендуется использовать Composer для управления зависимостями Drupal; Прочтите Использование Composer с Drupal для получения дополнительной информации. Drush 9 больше не поддерживает обновление Drupal и оставляет работу Composer. Следовательно, рекомендуется использовать Composer для обновления Drupal. Однако, если вы долгое время пользуетесь Drush, вы все равно можете использовать Drush 8 (8.14 или новее) для обновления Drupal 8.
P.S .: Во введении к этим инструкциям обобщены все варианты обновления, которые вы можете выбрать.
Всегда возвращайтесь к резервной копии, когда вы получаете фатальную ошибку в процессе обновления.
Обновление ядра Drupal 8
Действия по обновлению ядра Drupal 8 с использованием Drush 8.x. Drush - это Drupal Shell.
1. Сделайте резервную копию ваших файлов и базы данных. Используя Drush, введите и выполните эту команду.
drush archive-dump
Заметки:
- Важно создать резервные копии перед обновлением. Таким образом, если во время или после обновления появится что-то неожиданное, вы сможете быстро и легко отменить обновление.
- Эта команда «drush archive-dump» выше создает .tar.gz файлов и базу данных. Это устаревшая команда Drush. Который намечен для удаления в Drush. Эта команда охватывает только файлы, расположенные в каталоге / web.
2. Проверить наличие обновлений
drush pm-updatestatus
- Примечание: псевдоним для команды ups
- Примечание: эта команда не рекомендуется для установки на основе композитора, пожалуйста, используйте composer-show
3. Activate maintenance mode
drush state-set system.maintenance_mode 1
Примечание: псевдоним команды sset
4. Очистить кеш
drush cache-rebuild
Заметки:
- Псевдоним для команды cr
- Эта команда очищает корзины cache_ * в базе данных Drupal, а затем перестраивает контейнер сайта
5. Выберите один или несколько параметров ниже, чтобы выполнить обновления. Какой вариант(ы) вы выберете, зависит от того, какой тип обновления необходим. pm-update (псевдоним: up) обновляет код, а также применяет любые ожидающие обновления базы данных, так же, как pm-updatecode + updatedb.
Опция: обновить ядро Drupal 8
drush pm-update drupal
Опция: Обновить ядро Drupal 8 до ветки разработки, только для тестирования и создания патчей (не Production)
drush pm-update drupal-8.5.x-dev
Опция: обновить один модуль
drush pm-update module_name
Опция: обновлять только обновления безопасности
drush pm-update --security-only
6. При необходимости повторно примените любые ручные изменения к файлам, таким как .htaccess, composer.json или robots.txt. Drush не делает этого автоматически.
7. Повторно примените все основные исправления, которые вы использовали перед обновлением (при условии, что они еще не были объединены).
1. Их легко найти с помощью хороших сообщений коммита.
% git log --oneline --reverse core
ee2bf8dd Issue #18: Updated Drupal core from 8.3.4 to 8.3.5.
267e3ad0 Issue #27: Applied patch from https://www.drupal.org/project/drupal/issues/2174633#comment-12291691.
718ecba5 Issue #9: Applied patch from https://www.drupal.org/project/drupal/issues/2906229#comment-12496488.
2. Для каждого ранее примененного исправления с момента последнего обновления ядра используйте команду git cherry-pick (или исправьте конфликты, если они не пройдут) в хронологическом порядке.
% git cherry-pick 267e3ad0
% git cherry-pick 718ecba5
8. Если вы используете Composer для управления библиотеками PHP (например, потому что это требуется для некоторых дополнительных модулей), обновите каталог /vendor с помощью следующей команды:
composer update drupal/core --with-dependencies
9. Обновите базу данных, если требуются какие-либо необходимые обновления базы данных
drush updatedb
Примечание: псевдоним для команды является updb
10. Проверьте, что ваш сайт в порядке. Для этого:
- Используя Drupal, посмотрите на страницу отчета о состоянии
- С помощью браузера протестируйте свой сайт, посетив важные страницы
11. Деактивировать режим обслуживания
drush state-set system.maintenance_mode 0
12. Очистить кеш еще раз
drush cache-rebuild
13. Выполнено. Вы успешно обновили свой Drupal 8, используя Drush :)
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.