Drush: Alle Module deaktivieren

Steven Schulz
Steven Schulz

Drush: Alle Module deaktivieren

Manchmal ist es notwendig, alle Module in einer Drupal-Installation zu deaktivieren - zum Beispiel beim Debugging oder bei Wartungsarbeiten. Mit Drush geht das schnell und einfach.

Der Befehl

drush pm:uninstall $(drush pm:list --type=module --status=enabled --no-core --field=name)

Was macht dieser Befehl?

Der Befehl besteht aus zwei Teilen:

  1. drush pm:list --type=module --status=enabled --no-core --field=name - Listet alle aktivierten, nicht-core Module auf
  2. drush pm:uninstall - Deinstalliert die aufgelisteten Module

Vorsicht!

Dieser Befehl deinstalliert alle benutzerdefinierten Module. Stelle sicher, dass du:

  • Ein Backup deiner Datenbank hast
  • Die Auswirkungen verstehst
  • Weißt, welche Module du später wieder aktivieren musst

Alternative: Nur deaktivieren statt deinstallieren

Wenn du die Module nur deaktivieren (nicht deinstallieren) möchtest:

drush pm:disable $(drush pm:list --type=module --status=enabled --no-core --field=name)

Tipp für Drupal 10

In Drupal 10 gibt es keine Unterscheidung mehr zwischen “deaktiviert” und “deinstalliert”. Module sind entweder installiert oder deinstalliert.

Diese Drush-Befehle sind extrem hilfreich bei der Fehlersuche und Wartung von Drupal-Websites.

Häufig gestellte Fragen (FAQ)

Was ist der Unterschied zwischen pm:disable und pm:uninstall in Drush?
pm:disable deaktiviert Module nur, während pm:uninstall sie komplett deinstalliert und alle zugehörigen Daten und Konfigurationen löscht. In Drupal 10 gibt es keine Unterscheidung mehr - Module sind entweder installiert oder deinstalliert, es gibt keinen 'deaktiviert'-Status.
Warum sollte ich vor dem Deaktivieren aller Module ein Backup machen?
Das Deinstallieren von Modulen kann Daten permanent löschen, einschließlich Content Types, Fields und gespeicherten Konfigurationen. Ein Datenbank-Backup ermöglicht es Ihnen, den vorherigen Zustand wiederherzustellen, falls etwas schiefgeht oder Sie Module reaktivieren müssen.
Funktioniert der Befehl auch in Drupal 10?
Ja, aber beachten Sie, dass Drupal 10 keine 'disabled' Module mehr kennt. Der Befehl 'drush pm:uninstall' deinstalliert Module vollständig. Für Drupal 10 sollten Sie den modernen Syntax verwenden: 'drush pm:uninstall $(drush pm:list --type=module --status=enabled --no-core --field=name)'
Welche Module werden durch --no-core ausgeschlossen?
Die --no-core Flag schließt alle Core-Module von Drupal aus - also Module wie Node, User, System, Field etc., die standardmäßig mit Drupal geliefert werden. Es werden nur Contrib-Module (heruntergeladene) und Custom-Module (selbst entwickelte) betroffen.

Das könnte Sie auch interessieren

← Zurück zum Blog