[Drupal] Drush

jeudi 9 mars 2017

Drush est un outil en ligne de commande qui facilite la configuration et mise à jour de votre drupal. Il facilite l’interaction avec des modules/ thèmes et profiles de Drupal. Il permet aussi d’exécuter le fichier update.php qui permet d’exécuter des scripts sql de migrations.
Maintenant ce projet se trouve sur github.
Il est aussi maintenant disponible via composer le gestionnaire de paquet php.

Il est possible d’installer drush de manière global sur votre machine ou serveur mais depuis Drupal 8 il est conseillé de l’installer dans le dossier root de votre Drupal car il est possible d’installer Drupal 8 avec composer. Donc si vous avez déjà installé Drupal 8 avec votre composer, il suffit de rajouter la dépendance au composer.json de votre drupal, ou via la commande suivante:

composer require drush/drush

Cette commande va rajouter et installer la dépendance.

Maintenant vous pouvez utiliser drush et vous déplacez dans le dossier /root_drupal/vendor/bin/drush pour utiliser le binaire.

Pour installer Drush de manière global par exemple sur votre machine en locale ou sur un serveur avec plusieurs sites web Drupal et que ce sont des Drupal sans composer ou des Drupal 7, il suffit d’installer en premier lieu composer via l’article suivant.

Il existe deux version de Drush actuellement Drush 9 compatible uniquement Drupal 8 et Drush 8 compatible Drupal 6,7 et 8

composer global require drush/drush:8.*

Pour installer Drush sur un Drupal 7

composer global require drush/drush:dev-master

Pour installer Drush sur un Drupal 8

Pour rendre la commande drush disponible globalement en terminal, il ne faut surtout pas comme composer déplacer le binaire drush mais plutôt créer un lien symbolique

sudo ln -s ~/.composer/vendor/drush/drush/drush /usr/local/bin/drush

Maintenant, Drush est accessible en ligne de commande.

Il est aussi parfois nécessaire de rajouter un lien symbolique vers le socket de votre base de donnée mysql pour que Drush puisse interroger votre base de donnée Mysql. Principallement si vous avez installer mysql via des outils all in one package comme MAMP par exemple

sudo mkdir /var/mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

Première commande utile end Drush est de se mettre dans le root du site Drupal et de faire:

drush status

Ce qui permet de fournir un ensemble d’information utile sur votre site en drupal comme la version du Drupal, de Drush, et aussi si le fichier settings est manquant ou non.

Vous retrouverez ici la liste de mes commandes drush très utiles.

Pour plus d’information sur les versions de Drush cliquez ici

Tags: drupal , drush , PHP