Actualizar el n煤cleo de Drupal mediante Drush
Esta documentaci贸n est谩 desactualizada. Ayuda a actualizarla.
Antes de comenzar
Se recomienda usar Composer para administrar las dependencias de Drupal; lee Usar Composer con Drupal para m谩s informaci贸n. Drush 9 ya no soporta la actualizaci贸n de Drupal y delega el trabajo a Composer. Por lo tanto, se recomienda usar Composer para actualizar Drupal. Sin embargo, si has usado Drush durante mucho tiempo, todav铆a puedes usar Drush 8 (8.14 o superior) para actualizar Drupal 8.
P.D.: La introducci贸n a estas instrucciones resume todas las opciones de actualizaci贸n que puedes elegir.
Siempre vuelve a una copia de seguridad si encuentras un error fatal durante la actualizaci贸n.
Actualizar el n煤cleo de Drupal 8
Pasos para actualizar el n煤cleo de Drupal 8 usando Drush 8.x. Drush es una consola para Drupal.
1. Haz una copia de seguridad de tus archivos y base de datos. Usando Drush, ingresa y ejecuta este comando.
drush archive-dump
Notas:
- Es fundamental hacer copias de seguridad antes de actualizar. As铆, si algo inesperado ocurre durante o despu茅s de la actualizaci贸n, puedes revertirla f谩cil y r谩pidamente.
- El comando 芦drush archive-dump禄 genera un archivo .tar.gz de los archivos y la base de datos. Es un comando obsoleto en Drush, planeado para ser removido. Solo cubre los archivos en el directorio /web.
2. Verifica si hay actualizaciones disponibles
drush pm-updatestatus
- Nota: alias para el comando ups
- Nota: este comando no es recomendable para sitios basados en Composer, usa composer show
3. Activa el modo de mantenimiento
drush state-set system.maintenance_mode 1
Nota: alias para el comando sset
4. Limpia la cach茅
drush cache-rebuild
Notas:
- Alias para el comando cr
- Este comando limpia las tablas cache_* en la base de datos de Drupal y luego reconstruye el contenedor del sitio
5. Elige una o varias de las opciones siguientes para ejecutar las actualizaciones. La opci贸n que elijas depender谩 del tipo de actualizaci贸n que necesites. pm-update (alias: up) actualiza el c贸digo y aplica cualquier actualizaci贸n pendiente de base de datos, igual que pm-updatecode + updatedb.
Opci贸n: actualizar el n煤cleo de Drupal 8
drush pm-update drupal
Opci贸n: actualizar el n煤cleo Drupal 8 a la rama de desarrollo, solo para pruebas y creaci贸n de parches (no para producci贸n)
drush pm-update drupal-8.5.x-dev
Opci贸n: actualizar un m贸dulo espec铆fico
drush pm-update nombre_modulo
Opci贸n: actualizar solo actualizaciones de seguridad
drush pm-update --security-only
6. Si es necesario, vuelve a aplicar cualquier cambio manual en archivos como .htaccess, composer.json o robots.txt. Drush no lo hace autom谩ticamente.
7. Reaplica cualquier parche personalizado que hayas usado antes de la actualizaci贸n (si no se ha fusionado ya).
1. Son f谩ciles de encontrar con buenos mensajes 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 parche aplicado anteriormente desde la 煤ltima actualizaci贸n de n煤cleo, usa el comando git cherry-pick (o resuelve los conflictos si ocurren) en orden cronol贸gico.
% git cherry-pick 267e3ad0
% git cherry-pick 718ecba5
8. Si usas Composer para manejar librer铆as PHP (por ejemplo, porque es requerido por algunos m贸dulos adicionales), actualiza el directorio /vendor con este comando:
composer update drupal/core --with-dependencies
9. Actualiza la base de datos si se requieren actualizaciones pendientes
drush updatedb
Nota: alias para el comando updb
10. Verifica que tu sitio est茅 funcionando correctamente. Para esto:
- En Drupal, revisa la p谩gina de informe de estado
- Con un navegador, prueba tu sitio visitando p谩ginas importantes
11. Desactiva el modo de mantenimiento
drush state-set system.maintenance_mode 0
12. Limpia la cach茅 nuevamente
drush cache-rebuild
13. 隆Hecho! Has actualizado Drupal 8 exitosamente usando Drush :)