Drush config y Drush state. Configurando Drupal con drush

Drush config y drush state
Solucionex
15
Ene 24

Una de las características que más brillan a la hora de trabajar con Drupal es la posibilidad de trabajar con la herramienta drush. Con drush se puede importar traducciones, borrar caché, etc. A parte de esto, otra de las características más interesantes que tiene es que puede acceder a la configuración y el estado del portal gracias a drush config y drush state, respectivamente.

Drush config

Con drush config se puede acceder a los parámetros de configuración del portal, modificarlos e incluso eliminarlos. A continuación se mostrarán una serie de ejemplos útiles. Como siempre, se puede consultar más información desde la página oficial de drush

  • config:delete. Permite borrar algunos parámetros de configuración en específico o todo un objeto de configuración.
    • drush config:delete system.date timezone.default # Así se borrará solamente la clave "timezone.default" del objeto de configuración "system.date".
    • drush config:delete system.date,system.cron # Se borrarán completamente los objetos de configuración "system.date" y "system.cron"
  • config:edit. Permite cambiar mediante el uso de un editor de texto los parámetros de un objeto de configuración. 
    • drush config:edit core.extension # Abrirá una shell con el archivo especificado. Una vez que se termine de editar y se cierre el archivo, se importará en el portal web.
    • Con el parámetro --editor se puede especificar con que editor abrir el archivo de configuración.
  • config:export. Exporta la configuración actual en la base de datos reemplazando la que se encuentra en la carpeta de configuración del proyecto.
    • Con el parámetro --destination se puede especificar donde se quieren guardar los archivos de configuración.
    • Con el parámetro --diff se mostrarán la diferencia que contienen los objetos de configuración, en vez de los archivos que se reemplazarán.
  • config:import. Importa la configuración desde el directorio de configuración, reemplazando la configuración de la base de datos. 
    • Se puede especificar el directorio del cual se quiere importar la configuración con el parámetro --source.
  •  config:get. Recupera la información de un objeto de configuración.
    • drush config:get system.site # En este caso recuperaría el objeto de configuración del sistema.
    • Es posible especificar el formato en el que se quiere que se muestre con el tag --format.
  • config:pull. Permite transferir y exportar configuración de un entorno a otro. Un caso práctico sería en el caso de que alguien tocara configuración en un entorno de producción, con este comando, se podría perfectamente traer a local y así trabajar sincronizar los entornos.
    • drush config:pull @source @destionation # se puede especificar el directorio en el que se almacena la configuración de la siguiente forma: @destionation:path/to/config/directory
  • config:set. Cambia el valor de de un objeto de configuración directamente. Este cambio se hace directamente al objeto de configuración en la base de datos.
    •  drush config-set system.theme admin gin -y # cambia el tema de configuración del portal a gin.
      • Se especifica primero el objeto de configuración a cambiar, el parámetro y el valor que recibirá.
  • config:status. Muestra las diferencias entre la configuración de la base de datos y la que se encuentra en el directorio de configuración.
    • Con --state podemos indicarle el estado de dicha configuración 'Identical', 'Only in sync dir', etc. Por defecto el valor es  Only in DB,Only in sync dir,Different.
    • Con --prefix podemos indicarle el prefijo por el que empieza el objeto de configuración.

Drush state

El drush state permite obtener y modificar diferentes elementos del sistema de Drupal, como el cron, la caché, el modo mantenimiento del sistema, el modo debug de twig, etc..

  • state:delete. Elimina la entrada especificada.
    • drush state:del system.cron_last # Se borra la entrada de la última vez que se ejecutó el cron.
  • state:get. Recupera el valor de la entrada especificada.
    • drush state:get drupal_css_cache_files --format=yaml # Recupera los archivos css de caché del sistema, especificando el formato en el que se quiere que se devuelva (en este caso yml).
  • state:set. Modifica el valor de la entrada especificada.
    • drush state:set system.maintenance_mode 0 --input-format=integer # Se desactiva el modo mantenimiento. mediante el input format se le especifica en que formato le va a llegar el valor.

 

Con estas herramientas se puede manejar el sistema sin necesidad de entrar en él, lo que facilitaría tareas de mantenimiento, automatización, etc.

Drupal
Desarrollo
Drush