web-dev-qa-db-fra.com

Commande Drush pour désinstaller depuis activé ...?

Existe-t-il une commande pour Drush afin que je puisse désinstaller un module de l'état activé? Je déteste devoir drush dis mymod -y (et) drush pm-uninstall mymod -y

6
user1750

Non, drush a été conçu pour que vous ne désinstalliez pas un module activé. De la même manière Drupal l'était. Vous devrez créer votre propre script Shell pour exécuter ces commandes.

Si vous voulez créer votre propre commande drush, vous devriez lire ceci tutoriel et ceci exemple de référence

5
iStryker

Si vous ne souhaitez pas emprunter la route d'alias proposée par Tony, vous pouvez également utiliser le && opérateur pour faire une ligne:

drush dis -y my_module && drush pm-uninstall -y my_module
8
Shawn Conn

J'utilise Drush 6.2, et pm-uninstall ne semble pas désactiver ET désinstaller un module. Je pensais partager une autre solution/alternative à la création d'une commande drush personnalisée. Je cherchais exactement la même chose et j'ai découvert une méthode utilisant des alias et un script bash personnalisé.

Exemple:

drush uninstall module_name

Dans le fichier drushrc.php, ajoutez:

$options['Shell-aliases']['uninstall'] = '!drushu';

Et créez un script (ajoutez à votre $ PATH), appelé drushu avec ce qui suit:

#!/bin/bash
drush dis $1 -y
drush pm-uninstall $1 -y

Si dans un environnement multisite, des alias de site seraient probablement nécessaires. Testé et fonctionne avec les éléments suivants ... Exemple:

drush @site-alias uninstall module_name

Dans le fichier drushrc.php, ajoutez:

$options['Shell-aliases']['uninstall'] = '!drushu {{@target}}';

Et dans le script drushu, ajoutez:

#!/bin/bash
drush $1 dis $2 -y
drush $1 pm-uninstall $2 -y
3
Tony Stratton