Trabajo diariamente con Drupal. Es un CMS que, como podréis ver en la evolución de esta página web y sucesivos post, me apasiona. Drupal no es un CMS popular en pequeños proyectos y, sinceramente, no es necesario para esto. El problema que tiene, desde mi punto de vista, es que te permite personalización en casi todos los aspectos y eso se traduce en horas de trabajo.
Hay que tener en cuenta que muchas veces, y yo creo que la mayoría de las veces, se valora más el tiempo que el resultado, cuando el resultado estará ahí siempre para hablar de ti, bien o mal, y el tiempo no. Por eso, hoy quiero hablar de una de las pocas herramientas que tiene Drupal para hacernos la vida más agradable: me refiero a "drush".
Drush es una herramienta para usar en línea de comandos (o shell) que permite realizar muchas tareas cotidianas de Drupal rápidamente y sin navegar por los menús. Trabajar con esta herramienta siempre es un acierto, ya que es de las pocas que ahorra mucho tiempo y, por esto mismo, en caso de desarrollar una web para un tercero, dinero.
Instalar drush
En caso de Debian:
apt-get install drush
El problema que suele tener esta forma de instalación es que no siempre está disponible la última versión de Drush.
Por PHP-PEAR
sudo apt-get install php-pear pear channel-discover pear.drush.org pear install drush/drush
Esta manera suele ser más fiable y actualizada.
Algunos comandos útiles
Para ver la lista completa de comandos, solo teneís que ir al directorio de vuestra web y escribir "drush", por lo que que citarlos todos es innecesario. Solo voy a poner unos pocos que yo uso continuamente para agilizar mis desarrollos:
drush cron
Este comando agiliza la tarea de realizar un cron en Drupal. Si lo usas con el cron del sistema (crontab -e), es lo óptimo, pero a veces, en el desarrollo, es necesario hacerlo a mano.
drush cc all
Limpia todas las cachés.
drush up
Actualiza Drupal y todos los módulos (hace copias de seguridad, aunque no está de más que tengas la tuya).
drush up drupal
Actualiza solo el core de Drupal.
drush vset update_max_fetch_time 60 -y
Establece el tiempo de refresco de updates a 60s. Sirve para no tener errores en el update manager con proyectos grandes.
drush en nombremodulo -y
Busca el módulo. En caso de no tenerlo, lo baja y lo activa (¡básico!).
drush dl drupal-7.x --destination=/var/www/dev.madeltoro.es/web/ drush site-install standard --account-name=admin --account-pass=admin --db-url=mysql://nombrebasededatos:contraseña@localhost/usuario
Instala Drupal en dos sencillos pasos.
drush sql-dump > archivo.sql
Crea una copia de seguridad de la base de datos.
Notas finales
Es evidente que hay muchos más usos para drush. También hay muchos módulos que tienen soporte para drush y añaden sus propios comandos a este (como devel), pero lo iremos viendo más adelante.