Enviado por juanonlab el Jue, 15/11/2018 - 18:42
Comandos Drush

Dentro del ecosistema de drupal es muy probable que tengas instalado o utilices varias herramientas para mantener actualizado tu cms. Normalmente tendrás composer, drush y drupal console. Cada una de ellas realiza tareas concretas. En esta entrada hablaré de drush y de los comandos que utilizo en mi día a día con ella.

Si has instalado Drupal mediante composer ya dispones, en una de las carpetas que se crean, el ejecutable de drush. Se localiza en ..vendor\drush\drush. Puedes buscar más información en la página web de drush para otro tipo de instalaciones.

Con drupal es muy habitual usar comandos drush para acelerar el desarrollo de las aplicaciones y acceder a ciertas acciones que de otra forma serían muy pesadas.

Estos comandos se lanzan desde el directorio raiz del proyecto drupal. Basta con abrir un terminal y situarse en ese directorio. Listo los comandos más importantes y que utilizo de manera habitual.

Regenerar la caché

drush cr

Regenera la caché. Si haces alguna actualización en tu aplicación a veces la caché no tiene en cuenta este cambio. Es un comando que se usa muchísimo

 

Actualizar el esquema de base de datos

drush entup

Cuando has creado un custom entity, lo has modificado o hay algún cambio en el esquema de base de datos es necesario lanzar esta opción. Si hay cambios te indicará la acción que va a realizar.

 

Actualizar la base de datos

drush updatedb

Después de actualizar el core, hacer un cambio en el esquema de base de datos ó alguna instalación/actualización de un módulo es posible que se tenga que actualizar la base de datos. Mediante este comando lo puedes hacer.

 

Activar un módulo

drush en <nombre del módulo>

Es muy habitual habilitar nuevos módulos en el desarrollo de un proyecto drupal. Para esto basta con lanzar el comando indicado. ¿Cómo averiguo el nombre del módulo? Puedes buscar en la pantalla de instalación de módulos de drupal el módulo a instalar y desplegar la información para buscar su nombre de sistema. Ese es el nombre que debes emplear en el comando.

Habilitar módulos

Otra opción es ir al código del módulo y buscar su fichero info.yml, la etiqueta project te dará el nombre del sistema para ese módulo. En el este caso particular tendríamos:

drush en workflows

 

Desactivar un módulo

drush pmu <nombre del módulo>

Si no necesitas un módulo puedes utilizar este comando. En ocasiones puede que  tenga dependencias con otros módulos. En ese caso puede mostrar un mensaje indicando que va a eliminar otros módulos. 

 

Generar un dump de la base de datos

drush sql-dump > <ficherodump.sql>

Antes de realizar cualquier actualización de tu sistema drupal es muy aconsejable realizar un dump de tu base de datos. El comando es realmente sencillo. Basta redireccionar con > el comando sql-dump seguido del nombre que quieras darle a tu fichero sql. Personalmente prefiero poner una fecha y el entorno desde donde hago el backup al nombre del fichero.

Quedaría así:

drush sql-dump > 20181116_dev.sql

 

Importar el contenido de un dump

drush sql-cli < <ficherodump.sql>

Para cargar un dump nos bastará con realizar el comando descrito. Cuidado que ahora el simbolo de dirección es < y no > . Para el ejemplo anterior tendríamos:

drush sql-cli < 20181116_dev.sql

 

Poner en modo mantenimiento Drupal

drush sset system.maintenance_mode 1

Es muy sencillo mediante este comando poner drupal en modo mantenimiento mientras haces las actualizaciones que tengas que realizar.

 

Quitar modo mantenimiento en Drupal

drush sset system.maintenance_mode 0

Simplemente hay que poner un 0 al setear la variable system.maintenance_mode.

 

Ejecutar instrucción sin confirmación

drush updatedb -y

A veces, las instrucciones te piden confirmación. Es útil sobre todo en scripts dar la confirmación por defecto. En el ejemplo que expongo añadiendo -y se podrá ejecutar la actualización de la base de datos sin necesidad de esperar confirmación por parte del usuario.

 

Importar un conjunto de archivos de configuración

En Windows

drush cim --partial --source=web\modules\contrib\mimodulo\vistas 

En Linux

drush cim --partial --source=web/modules/contrib/mimodulo/vistas 

Dependiendo del entorno hay que poner una barra u otra. Mediante el comando drush cim se cargan los archivos de configuración yml que se encuentren en la carpeta vistas. En algunas ocasiones he tenido algún que otro fallo así que ahora os muestro como cargar sólo un fichero de configuración.

 

Importar un único archivo de configuración

En este caso no se utiliza drush sino drupal console. Este método de carga de un sólo archivo lo utilizo mucho y es una alternativa al de drush por eso lo incluyo en esta entrada.

drupal config:import:single --file="web/modules/contrib/mimodulo/vistas/mi_vista.yml"

 

Realizar consultas sobre la base de datos

drush sql-query "SELECT * FROM node"

Con este comando se realiza una consulta directa sobre la base de datos. Puedes hacer select, insert, updates...

 

Realizar consultas sobre la base de datos importando un fichero

drush sqlq --file=web/modules/contrib/mimodulo/db/db_update.sql

Suponiendo que tu script de base de datos esté en la ruta: ../web/modules/contrib/mimodulo/db podrás ejecutar el fichero db_update.sql con el comando dado.

 

Sólo he listado los comandos más habituales y que utilizo en mi día a día. Puedes encontrar la lista detallada en el enlace de comandos drush. Mi trabajo con drupal sería más lento si no dispusiera de drush para acelerar todas las tareas de mantenimiento.

 

Añadir nuevo comentario

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.