Atualizar o Núcleo do Drupal via Drush
Esta documentação está obsoleta. Ajude a torná-la atualizada.
Antes de você começar
Recomenda-se usar o Composer para gerenciar dependências do Drupal; Leia Usando Composer com Drupal para mais informações. O Drush 9 não suporta mais atualização do Drupal e deixa o trabalho para o Composer. Consequentemente, recomenda-se usar Composer para atualizar o Drupal. No entanto, se você é um usuário Drush há muito tempo, ainda pode usar o Drush 8 (8.14 ou mais recente) para atualizar o Drupal 8.
PS: A introdução a essas instruções resume todas as opções de atualização entre as quais você pode escolher.
Sempre reverta para um backup quando você receber um erro fatal durante o processo de atualização.
Atualizar o Núcleo do Drupal 8
Etapas para atualizar o núcleo do Drupal 8 usando Drush 8.x. Drush é o Drupal Shell.
1. Faça backup de seus arquivos e banco de dados. Usando Drush, digite e execute este comando.
drush archive-dump
Notas:
- É importante fazer backup antes de atualizar. Desta forma, se algo inesperado acontecer durante ou após a atualização, você pode rápida e facilmente reverter a atualização.
- O comando 'drush archive-dump' acima cria arquivos .tar.gz e banco de dados. Este é um comando desatualizado do Drush. Que está programado para ser removido no Drush. Este comando cobre apenas arquivos localizados no diretório /web.
2. Verifique se há atualizações disponíveis
drush pm-updatestatus
- Nota: apelido para o comando ups
- Nota: este comando não é recomendado para instalações baseadas em Composer, use composer show em vez disso
3. Ative o modo de manutenção
drush state-set system.maintenance_mode 1
Nota: apelido do comando sset
4. Limpar cache
drush cache-rebuild
Notas:
- Apelido para o comando cr
- Este comando limpa os caches cache_* no banco de dados Drupal e, em seguida, reconstrói o contêiner de serviço do site
5. Escolha uma ou mais opções abaixo para executar atualizações. Qual opção(ões) você escolherá depende do tipo de atualização necessária. pm-update (apelido: up) atualiza o código e também aplica qualquer atualização de banco de dados pendente, da mesma forma que pm-updatecode + updatedb.
Opção: Atualizar o Núcleo do Drupal 8
drush pm-update drupal
Opção: Atualizar o Núcleo do Drupal 8 para o branch de desenvolvimento, apenas para testes e criação de patches (não produção)
drush pm-update drupal-8.5.x-dev
Opção: Atualizar um módulo
drush pm-update module_name
Opção: Atualizar apenas atualizações de segurança
drush pm-update --security-only
6. Reaplique quaisquer alterações manuais em arquivos, como .htaccess, composer.json ou robots.txt. O Drush não faz isso automaticamente.
7. Reaplique todos os patches principais que você usou antes da atualização (desde que ainda não tenham sido mesclados).
1. Eles são fáceis de encontrar com boas mensagens de commit.
% 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. Para cada patch aplicado anteriormente desde a última atualização do núcleo, use o comando git cherry-pick (ou corrija conflitos se não passarem) em ordem cronológica.
% git cherry-pick 267e3ad0
% git cherry-pick 718ecba5
8. Se você usar o Composer para gerenciar bibliotecas PHP (por exemplo, porque é necessário para alguns módulos de contribuição), atualize o diretório /vendor com o seguinte comando:
composer update drupal/core --with-dependencies
9. Atualize o banco de dados, se houver atualizações de banco de dados necessárias
drush updatedb
Nota: apelido do comando é updb
10. Verifique se seu site está bem. Para fazer isso:
- Usando o Drupal, veja a página do relatório de status
- Usando um navegador, teste seu site visitando páginas importantes
11. Desativar modo de manutenção
drush state-set system.maintenance_mode 0
12. Limpar cache mais uma vez
drush cache-rebuild
13. Pronto. Você atualizou com sucesso seu Drupal 8 usando Drush :)