La configuration de Drush se fait dans le fichier drushrc.php. Celui-ci peut être situé dans les endroits suivants :
- Dans le répertoire de configuration du site : par exemple sites/default/drushrc.php
- Dans le répertoire sites/all/drush/drushrc.php
- Dans chaque répertoire spécifié par l'option --config (-c)
- Dans le répertoire de l'utilisateur .drush : par exemple ~/.drush/.drushrc.php
- Dans le répertoire de configuration du système : par exemple /etc/drush/drushrc.php
- Dans le répertoire où vous avez installé Drush.
Ce fichier peut être récupéré ici. Si Drush trouve le fichier dans plusieurs des emplacements ci-dessus, les paramètres seront unifiés par des tableaux de configuration fusionnées. Si votre configuration est prévue pour une version spécifique de Drush, vous pouvez renommer le fichier en incluant le numéro de version : drush[VERSION]rc.php. Par exemple, pour Drush 5, ce fichier sera appelé drush5rc.php.
Regardons maintenant quelques exemples de configuration, pour faciliter le développement.
Exemple 1 : Mise à jour du dépôt Git
En général, pour mettre à jour son dépôt Git local à partir du serveur distant, on utilise la commande :
git pull origin branch
Ajoutons la ligne suivante dans le fichier drushrc.php
On peut maintenant mettre à jour son dépôt Git avec la commande suivante :
drush pull
Exemple 2 : Activer / désactiver le mode maintenance du site
Pour activer ou désactiver le site, le fichier de configuration doit contenir les deux options suivantes :
Il est donc maintenant beaucoup plus simple de basculer en mode maintenance.
drush offline # Passage hors ligne drush online # Retour en ligne
Exemple 3 : Export de la base de données
L'export de la base de données est une opération assez courante. Cet export devrait éliminer les données inutiles de tables, notamment pour les tables de cache. Les tables dont il est nécessaire de nettoyer les données, sont généralement définies en fonction du site. Par défaut, des données supplémentaires sont stockées dans les tables cache, watchdog et sessions :
Mais ce n'est pas tout. Il est maintenant nécessaire d'ajouter un alias pour faire un export qui exclut les données des tables listées ci-dessus :
La commande suivante est maintenant disponible :
drush db-dump
Exemple 4 : Export complet
Un export complet du site peut se faire via la commande Drush drush archive-dump (drush ard). Cependant, dans certaines situations, un export complet n'est pas nécessaire, dans certains cas on peut avoir besoin que de la base de données, dans d'autres que des fichiers, etc. On peut donc mettre en place la configuration suivante :
En conséquence, vous pouvez faire une sauvegarde séparée de la base données, des fichiers du site ou encore un export des deux : drush full-dump
Et chose la plus importante, il est toujours possible de spécifier ses propres options, pour se faire des exports personnalisés.
Exemple 5 : quelques alias utiles
Voici quelques alias Drush parmi les plus utilisés (tirés du drushrc.php standard). Afficher la liste des modules (sauf ceux du Core) :
Vider l'intégralité du cache du site :
Désactiver les modules overlay et dashboard :
Désactiver tous les modules qui ne font pas partis du noyau Drupal :
Autres options
Stocker et envoyer de manière anonyme des statistiques sur l'usage de Drush par les développeurs. Envoyer ces statistiques à l'équipe en charge du développement de Drush contribue à rendre le logiciel meilleur :
Activer le mode debug de Drush :
Définir le niveau d'affichage des messages PHP : la valeur par défaut est notice. Dans l'environnement de développement, cette valeur peut être définie à un niveau supérieur, tel que warning. Dans ce cas, assurez-vous que la valeur de l'option error_reporting est définie à E_ALL dans le fichier php.ini de votre configuration serveur.
Modifier l'encodage des messages Drush :
Dans le troisième exemple, on a vu comment retirer les données de certaines tables lors de l'export de la base de données. On peut également lister explicitement les tables que l'on veut inclure dans notre export :
Il est aussi possible d'ignorer complétement une table (les données et la structure), par exemple pour des tables temporaires. Dans cas, il faut utiliser l'option --skip-tables-key=common dans notre commande Drush :
Être notifier de la fin de l'exécution d'une commande : la version 6 de Drush introduit une nouvelle option, qui permet d'afficher une notification. Pratique dans le cas d'une commande qui prend un peu de temps. Cette option fonctionne sur Linux et Mac OSX (sur ce dernier il faut installer un utilitaire qui interagit avec le centre de notifications : gem install terminal-notifier). Pour utiliser cette option par défaut sur toutes les commandes sans avoir à la spécifier, il faut ajouter la ligne suivante au drushrc.php :
Conclusion
Le fichier de configuration peut contenir un grand nombre d'options utiles, je n'ai listé que les plus intéressantes et utilisées. La liste complète des options peut être trouver dans le fichier drushrc.php.
Crédit photo : James Gehrt