drush

DRUpal SHell

Mit den folgenden Modulen lässt sich Drush erweitern:

Module auf drupal.org in der Kategorie Drush.
To be continued...

Die Konfigurationsdatei für drush

Hier verwendet, drush für Drupal 6.x.

  1. <?php
  2. $options['r'] = '/home/foobar/drupal/6.x';
  3.  
  4. $options['v'] = 1;
  5.  
  6. $options['skip-tables'] = array(
  7.  'common' => array('accesslog', 'cache', 'cache_block', 'cache_filter', 'cache_form', 'cache_menu', 'cache_page', 'cache_update', 'history', 'search_dataset', 'search_index', 'search_total', 'sessions', 'watchdog'),
  8. );
  9.  
  10. $options['handler'] = 'wget';

Drush ist eine Schnittstelle für Drupal auf der Kommandozeile, praktisch wie Schweizer-Taschenmesser und gerade für jene, die sowieso mit der Shell arbeiten.

Drush_mm-Adminrole-Workaround

Drush, drush_mm und adminrole sind wirklich nützliche Module, funktionieren aber leider noch nicht zusammen,

In drush_mm findet noch keine Überprüfung statt ob adminrole installiert bzw, aktiviert ist, die Funktion adminrole_update_perms() aus adminrole.module wird durch

drush mm install modul

nicht aufgerufen.

Und hier der Workaround:

drush mm install modul && drush eval "adminrole_update_perms();"

Klappt und ich weiss jetzt wofür das eval-Statement gut sein kann.

Update 21.02.2009 02:38 Patches im Anhang
Ein kürzere, elegantere und zukunftsträchtigere Lösung, je ein Patch für drush_mm und adminrole von dereine, Danke!
und meine Lösung, welche unabhängig von adminrole ist.

Um drush in einer Multisiteumgebung zu arbeiten, haben sich folgende Mechanismen als nützlich erwiesen:

So soll die Multisiteumgebung später mal aussehen:

drupal/
|-- 6.x -> drupal-6.14
|-- 6.x_backup
|-- 6.x_profiles
|-- 6.x_sites
|   |-- all  
|   |-- default
|   |-- example.com
|   |   |-- files
|   |   |-- modules
|   |   `-- themes
|   `-- sub.example.com
|       |-- files
|       |-- modules
|       `-- themes
`-- drupal-6.14
    |-- includes
    |-- misc
    |-- modules
    |-- profiles -> ../6.x_profiles
    |-- scripts
    `-- sites  -> ../6.x_sites

Anmerkungen

Der Ordner 6.x_backup beziehungsweise der symbolische Link backup in der
Wurzel der Drupal-Installation ist drush-spezifisch.

Seit Commit 16a4e2b3cf0420a7dce7d3ed79f6701bdd97e095 auf Drush nicht mehr möglich:

Force to use a location for backups outside the drupal root.

Der Ordner 6.x_sites beziehungsweise der symbolische Link sites beinhaltet die einzelnen Sites und deren Daten.

Seit dem Fix von Issue #694708 auf drush_multi, behandle ich profiles analog zu sites.

Erstellung des symbolische Links auf die Wurzel der Drupal-Installation, welche später in unserem VirtualHost die DokumentRoot darstellt .

ln -s drupal-6.4-DE 6.x

Die folgenden Pakete werden benötigt: