Ja, Drush auch kann Autocompletition, zu deutsch "Autovervollständigung"
und das anscheinenend nicht erst seit gestern, obwohl erst gestern entdeckt...
Tab-Vervollständigung
Ganz genau genommen, spricht man in diesem Fall der Autovervollständigung von einer Befehlszeilenergänzung bzw. Tab-Vervollständigung.
Es besteht auch im Drush-Kontext die Möglichkeit Drush-Befehle, globale Drush-Optionen und den spezifischen Optionen zu einem Drush-Befehlen
durch "tabben" (dem ein- oder zweimaligen Drücken der Tabulator Taste) in der Shell zu vervollständigen.
Beispiele
Tab-Vervollständigung von globalen Drush-Optionen:
--backup-location --cache-class-<bin>
--cache-default-class --choice
--command-specific --complete-debug
--config --confirm-rollback
[...]
Tab-Vervollständigung von Drush-Befehlen, die mit sql- beginnen:
sql-cli sql-conf sql-connect sql-create sql-drop
sql-dump sql-query sql-sanitize sql-sync
Vervollständigung der Optionen, die mit dem Befehl sql-dump nutzbar sind:
--create-db --data-only --gzip --result-file --structure-tables-key
--tables-list --database --db-url --ordered-dump --skip-tables-key
--tables-key
Den Fallstrick und die Suche möchte ich euch ersparen...
db_like is the way to go
'SELECT * FROM person WHERE name LIKE :pattern',
array(':pattern' => db_like($prefix) . '%')
);
Das Testen von Drupal-Installationsprofilen ist relativ mühselig, da sich ein Teil der Schritte, bis man überhaupt erst zum Testen der eigentlichen Funktionalität kommt,
mit dem Build-Prozess beschäftigt.
Diesen muß man eigentlich für jede Änderung erneut durchlaufen...
- Drush make (das macht es im Falls des Feature-Server-Installations-Profiles)
- Drush make mit distro.make aus dem Git-Repository
- Download des Drupal-Cores
- Klonen des in distro.make hinterlegten Repositories für das Installationsprofil
- Rekursive Suche nach weiteren Drush-Makefiles,
runterladen der Drupal-Module und des Themes, die im gefundenen Makefile drupal-org.make spezifiziert sind
- Sybolischer-Link vom erstellten Build auf die DocumentRoot des für Testzwecke angelegten VirtualHosts
- Drop auf alle Tabellen in der Zieldatenbank
- Installation von Drupal und einem bestimmtem Installationsprofiles, hier fserver_profile
In der scheinbaren Routine des manuellen Durchlaufen dieser Schritte entsteht zudem auch mal schnell ein Fehler.
So habe ich beim gefühlt 100sten Mal des Durchlaufens dieser Prozedur versehentlich in der falschen Datenbank alle Tabellen ge-dropt-t und dachte mir, Automatisierung muss her, schreib ein Shellskript...
In der Regel kann man eine Drupal-Site mit einem Projekt gleichsetzen, Projekte nutzen eine Versionsverwaltung, immer häufiger ist dies Git.
Je mehr ich Git nutze, je weniger nutze ich die Möglichkeiten der klassischen Drupal-Multisite-Funkionalität, dem Teilen von Drupal-Core und Contributed-Modules über viele Drupal-Sites hinweg.
Im folgenden möchte ich diese (Verzeichnis-)Struktur innerhalb des Git-Repositories beleuchten und in diesem Zusammenhang Ansätze von spezielleren Drush-Konfigurationsdateien zeigen, welche sich in Drupal-Projekten für mich etabliert haben, ein Teil hiervon ist Drupal-7 spezifisch.
|-- drupal
| `-- sites
| |-- all
| | |-- modules
| | | |- features
| | | |- contrib
| | | `- custom
| | `-- themes
| |-- default
| | |-- default.settings.php
| | |-- files
| | |-- themes
| | `-- settings.php
| |-- example.sites.php
| `-- sites.php
|-- dumps
| `-- 20120615-185144.sql
|-- etc
| |-- apache2
| | `-- sites-available
| | `-- example.com
| `-- drush
| |--- aliases.drushrc.php
| |--- git.drushrc.php
| `--- example.drushrc.php
|-- privatefiles
| `-- IMG_6445.JPG
`-- salt
`-- salt.txt
- drupal
Die Drupal Code-Basis und DocumentRoot des Webservers.
- dumps
Hier liegen die Datenbankdumps
- etc
Projektrelevante Konfigurationsdateien, relativ zur Wurzel des Dateisystems.
- privatefiles
Dateien die über Drupal verwaltet werden, (Ziel beim Hochladen: Private Dateien).
- salt
Beinhaltet in der Datei
salt.txt, den aussettings.phpausgelagerten Salt
Rudimente für ein Drupal-Deployment mit
- Lokaler Entwicklungumgebung
- Stage-Umgebung
- Live / Produktionsumgebung
unter Verwendung, der in Drupal-7 neu eingeführten Multisite-Features in der Datei sites.php, Drush-Aliases
und einer speziellen settings.php,
die in diesem Fall versioniert wird.
sites.php -- Verzeichnis Aliase in Drupal 7.x
Die in Drupal 7.x neu eingeführte Datei sites.php stellt erstmalig Verzeichnis-Aliase für Drupal-Multisites zur Verfügung.
So ist es jetzt möglich mit verschiedenen Domains bzw. VirtualHosts ein bestimmtes Verzeichnis innerhalb von sites anzusprechen,
ohne über z.B. Symbolische Links zu gehen, was in vorgigen Drupal-Versionen zur Folge haben konnte, daß Datei- oder Modulpfade beim "umbiegen" von der Dev-Site example.mydomain.de auf die Live-Site example.com divergent sind.
// (LOCAL) DEV SITE
$sites['example.localhost'] = 'example.com';
// STAGE SITES
$sites['stage-example.mydomain.de'] = 'example.com';
$sites['stage.example.com'] = 'example.com';
// LIVE SITE
$sites['example.com'] = 'example.com';
This session was intended as an introduction and a motivation to use Features module for deployment and re-usable patterns.
"A Presentation about Monsters, Features and The Plus" or- "How to create modules as a non-programmer"
- "Features: The first step towards Apps"
- "Share your Drupal genius the easy way: Features"
- "YAFS: Yet another Features session"
- "A VCS called FTP"... [1] [2]
Foto: © Sven Culley, sense-design.de
Gestern bei der DUB, Themenabend Deployment und nicht physisch anwesend:
Eine Skypesession zu Features, Features Erweiterungen, Drupal Installationsprofilen, Drush und dem Plus...

Foto: Ronald "rokr" Krentz,
Nach dem Wochenende habe ich bemerkt, daß die Ubuntu-Updates, die ich am Freitag davor durchgeführt habe wohl etwas "verschlimmbessert" haben.
So begrüßt mich am darauffolgenden Montag, direkt eine Kernel-Panic.
Alles im Grunde nichts gravierendes, aber...
- Root-Partition ist verschlüsselt
- Home-Verzeichnis ebenfalls verschlüsselt
Nunja...
Nach einer Woche HOND am Laptop und ziemlich zeitintensiver Suche, hier der zusammengetragene, komplette Lösungsweg.
Slides der Präsentation "Drupal 6.x, Drupal 7.x -- Scratching the surface" zum Themenabend Drupal7 der Drupal User Group Köln/Bonn am 15.06.2011.
Mein Ziel war es Drupal6 und Drupal7 oberflächlich aber technisch gegenüberzustellen bzw. zu vergleichen.
Nachdem sich bei einem Rechnerverbund mal wieder Updates angehäuft haben, stand bis jetzt normalerweise immer die folgende Prozedur an:
ssh server1aptitude safe-upgradeexitssh server2aptitude safe-upgradeexit- ...
ssh serverNaptitude safe-upgradeexit
Ich hatte noch einen Artikel aus dem Linux-Magazin im Kopf (Ausgabe 1/11, S. 85, Charly Künast: "Sponton simultan"),
indem der gute Charly einen möglichen Lösungsansatz für mich parat hält um N Schritte zu einem zusammen fassen zu können.
Die Lösung heißt Cluster SSH.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- nächste Seite ›
- letzte Seite »





Neueste Kommentare
vor 30 Wochen 6 Tage
vor 35 Wochen 4 Tage
vor 39 Wochen 16 Stunden
vor 39 Wochen 1 Tag
vor 1 Jahr 35 Wochen
vor 1 Jahr 36 Wochen
vor 1 Jahr 36 Wochen
vor 1 Jahr 47 Wochen
vor 1 Jahr 48 Wochen
vor 1 Jahr 48 Wochen