Pasar al contenido principal
Actualizar Drupal 8 a Drupal 9 (vía composer)

Actualizar Drupal 8 a Drupal 9 (vía composer)

Actualizar Drupal 8 a Drupal 9 (vía composer)

3 minutos

Como sabrás, Drupal 8 está construido sobre Symfony 3 (el cual termina su soporte oficial en Noviembre del 2021), por lo que dejará de tener soporte oficial al mismo tiempo que lo deja de tener este último.

Debido a este fin del soporte oficial, es muy recomendable comenzar a migrar nuestros proyectos a la última versión disponible de Drupal, evitando así posibles vulnerabilidades que se encuentren en versiones anteriores.

Requisitos previos

Para realizar una migración a Drupal 9 es necesario actualizar nuestra versión de Drupal 8 a la última versión disponible de esta rama.

Debemos actualizar previamente los módulos contribuidos a su última versión, asegurándonos de que disponen de soporte y de una versión compatible con Drupal 9. En caso de no tener versión compatible con Drupal 9, mi recomendación es ver si dispone de algún parche que lo convierta en compatible, buscar una alternativa a dicho módulo o, en última instancia, descartar la migración por el momento.

También necesitaremos tener Drush instalado (no es obligatorio pero nos facilita la copia de seguridad de la base de datos) y composer.

Crear una copia de seguridad

Antes de cualquier actualización del nucleo es importante realizar una copia de seguridad, tanto de los archivos del proyecto como de la base de datos.

Para la copia de seguridad de los archivos podemos:

  • Descargar los archivos a nuestro disco duro,
  • generar un zip con los archivos del proyecto,
  • o cualquier otro sistema que nos resulte práctico.

Para la copia de seguridad de la base de datos podemos hacer uso de Drush ejecutando el siguiente comando desde la carpeta raíz de nuestro proyecto:

vendor/bin/drush sql-dump --result-file=./data.sql

Este comando nos permite abstraernos de la tecnología de la base de datos, no importa si usamos MySql, mariadb, postgres...

Moveremos el archivo generado a un lugar seguro (por ejemplo en nuestra propia máquina).

Realizando la migración

La migración a Drupal 9 se resume en 5 pasos:

  1. Asignar permisos a los archivos de configuración de Drupal:
    chmod 777 web/sites/default
    find web/sites/default -name "*settings.php" -exec chmod 777 {} \;
    find web/sites/default -name "*services.yml" -exec chmod 777 {} \;
  2. Ejecutar la actualización del archivo composer.json:
    composer require \
      drupal/core-recommended:^9.0.0 \
      drupal/core-composer-scaffold:^9.0.0 \
      drupal/core-project-message:^9.0.0 \
      --update-with-dependencies --no-update
  3. Actualizar todos los módulos, extensiones y nucleo:
    composer update
  4. Ejecutar la actualización de la base de datos:
    vendor/bin/drush updatedb
  5. Devolver los permisos a los archivos de configuración de Drupal:
    chmod 755 web/sites/default
    find web/sites/default -name "*settings.php" -exec chmod 644 {} \;
    find web/sites/default -name "*services.yml" -exec chmod 644 {} \;

Tras finalizar estos comandos (y si todo ha salido bien) ya podrás disponer de tu Drupal en su última versión y con un soporte vigente.

Artículos relacionados

Comentarios

Añadir nuevo comentario

Este campo no se mostrará públicamente.