09 September
1 Comentarios
Escrito por: galicloud

Introducción a drush (I)

drupal 7

¿Qué es drush?

Drush ( = DRUpal SHell) es una interfaz de línea de comandos para drupal, es decir, un lugar desde donde podemos manejar nuestro drupal usando comandos de consola. Para los que no estén familiarizados con la consola, simplemente diré que agiliza muchísimo el desarrollo de cualquier web, por pequeña que sea. Como ejemplo siempre uso el de instalar un módulo. La forma tradicional consiste en descargar el módulo en local, desempaquetarlo y subirlo por ftp, lo cual nos puede llevar unos 5-10 minutos. Mediante drush, podemos descargar el módulo directamente en el servidor mediante un comando, con lo cual el proceso queda reducido a unos 5-10 segundos. Asumiré que se está familiarizado con el uso de la consola por ssh, de lo contrario se puede consultar esta guía

Como instalar drush en ubuntu 14.04

Para instalar drush, en un servidor (o máquina local) ubuntu 14.04, abrimos un terminal y ejecutamos el siguiente comando:

sudo apt-get install drush

Esto nos instalará drush, así como sus dependencias. una vez termine la instalación, podremos ejecutar:

drush --version

Ésto indicará la versión de drush instalada, en mi caso la 5.10.0. En el caso de ubuntu 12.04, la versión que viene en los repositorios es la 4.x. Es recomendable actualizar drush a la última versión estable (actualmente la 5.x)

Para actualizar drush a la versión más reciente, ejecutamos el siguiente comando:

drush self-update

En drush todos los comandos tienen parámetros y opciones. Los parámetros se escriben a continuación del nombre del comando separados por espacios, y las opciones modifican la forma de ejecutarse el comando, y vienen precedidas por 2 signos menos (--), como por ejemplo --version. Los comandos los ejecutamos siempre dentro de la carpeta de la instalación del sitio web en cuestión. Ahora veamos algunos comandos interesantes de drush

Descargar un módulo con drush

Para descargar un módulo con drush usamos el comando drush dl, que recibe como parámetro el nombre del modulo. El nombre del modulo normalmente es el último fragmento de la url en la página del módulo en drupal.org, y también es el nombre que se usa en los hooks

Por ejemplo, si queremos descargar el módulo views, cuya url es https://www.drupal.org/project/views, ejecutamos en un terminal:

drush dl views

Quisiera aclarar en este punto la diferencia en drupal que existe entre un módulo y un proyecto. Para drupal, un proyecto es cualquier pieza de código descargable desde drupal.org. Es decir, puede ser un módulo, pero también puede ser un theme o una dristro. También puede suceder, como en este caso, que un mismo proyecto contenga varios módulos. Es el caso de views, que contiene 2 módulos: views y views_ui, uno con la funcionalidad de views, y otro con la interfaz administrativa. Cuando sea así, drush nos informará en el momento de descargarlo. Solo hay que tener claro que descargamos el proyecto, y activamos o desactivamos los módulos. En este caso, descargamos views, y activamos los 2 modulos que contiene: views y views_ui. OK? Vamos a ello!

Instalar / Activar módulos desde drush

Para activar módulos desde drush, utilizamos comando drush en, pasándole como parámetro el módulo o módulos que vamos a activar. En nuestro caso para activar los 2 módulos podríamos hacer:

drush en views<br />
drush en views_ui

...o bien directamente:

drush en views views_ui

Una cosa interesante es que drush detecta automáticamente las dependencias que tienen los módulos, y si están presentes en nuestro drupal, las activa directamente. Incluso en algunos casos puede descargarlas por nosotros. Como el módulo views_ui depende de views, podríamos instalar los 2 módulos con el comando:

drush en views_ui

Diferencia entre instalar y activar un módulo en drupal

Para drupal un módulo se instala cuando lo activamos por primera vez. SI más adelante lo desactivamos, y luego lo volvemos a activar, este no se instalará de nuevo, a menos que antes lo hayamos desinstalado (por ejemplo, desde la pestaña desinstalar de la página de módulos). Cuando drupal instala un módulo, ejecuta las tareas y configuraciones necesarias para que el módulo funcione correctamente (como por ejemplo crear las tablas necesarias en base de datos) y estos cambios no se deshacen por desactivarlo. Para deshacer estos cambios, debemos desinstalar el módulo, con lo que también perderemos las configuraciones que hayamos establecido en ese módulo. En la práctica lo que sucede al instalar es que se crean las tablas definidas en el hooh_schema y se ejecuta el hook_install. Y cuando se desinstala se borran estas mismas tablas y se ejecuta el hook_uninstall

Desactivar un módulo mediante drush

Para desactivar un módulo desde drush utilizamos el comando drush dis, que funciona con las dependencias de una forma muy parecida a drush en.

drush dis views

Este comando nos desactivará tanto views como views_ui

Desinstalar un módulo mediante drush

Para desactivar un módulo mediante drush utilizamos el comando pm-uninstall, que valida también las dependencias, pero en este caso es más estricto, no permitiéndonos desinstalar un modulo mientras no desinstalemos los módulos que dependan de él

Para concluir, muchos de los comandos que hemos visto nos piden confirmar lo que estamos haciendo. Si estamos muy seguros de lo que estamos haciendo podemos utilizar con cualquier comando la opción --yes ó -y, que son equivalentes. Con esta opción presente, un comando asumirá como "yes", la respuesta a cualquiera de las preguntas que nos platee. De manera que si ejecutamos:

drush en views_ui -y

Nos instalará views y views_ui sin pedir confirmación

Seguir leyendo: Introducción a Drush (II)

Comentarios

Imagen de esteban

muchas gracias, bastante útil

Añadir nuevo comentario