Verwaltung der Konfiguration Ihrer Website
Drupal speichert die Konfigurationsdaten der Website konsistent – von der Liste der aktivierten Module bis zu Inhaltstypen, Taxonomievokabularen, Feldern und Views.
Es wird nicht empfohlen, Konfigurationsänderungen direkt auf einer Live-Website vorzunehmen. Das System ist so konzipiert, dass Sie die aktuelle Konfiguration einfach verwenden, Änderungen lokal testen, sie in Dateien exportieren und in der Live-Umgebung bereitstellen können. Die Konfiguration Ihrer Website kann als Teil Ihrer Codebasis gespeichert und mit Versionskontrolle integriert werden.
Standardmäßig wird die „aktive“ Konfiguration in der Datenbank gespeichert (Tabelle „config“). Dies erfolgt aus Gründen der Leistung und Sicherheit. Dies ist die vollständige Konfiguration der gesamten Website zum aktuellen Zeitpunkt. Konfiguration kann als YAML-Dateien exportiert und importiert werden, entweder vollständig oder als einzelne Konfigurationsfragmente, mithilfe von Konfigurationsbefehlen über Drush und/oder Drupal Console oder Configuration Manager. (Details siehe unten.)
Das Exportieren und Importieren von Konfigurationsänderungen zwischen Drupal-Installationen in verschiedenen Umgebungen wie Entwicklung, Staging und Produktion ermöglicht es Ihnen, Änderungen in einer bequemen Entfernung von der Live-Umgebung Ihrer Website vorzunehmen und zu testen.
Dies erlaubt es Ihnen, Konfiguration von einer Umgebung in eine andere zu deployen (Drupal prüft vorsorglich, ob es sich um dieselbe Website handelt, indem es die UUID vergleicht).
Konfigurationsdateien von Modulen und Themes
Standardkonfiguration, die mit Modulen, Distributionspaketen und Themes geliefert wird, wird beim Aktivieren der Erweiterungen in den aktiven Konfigurationsspeicher importiert. Die Standardkonfiguration der Erweiterung befindet sich im Verzeichnis config/install.
Wie importieren, exportieren und synchronisieren
Mit dem Kernmodul Configuration Manager können Sie die Website-Konfiguration über Verwalten > Konfiguration > Entwicklung > Konfigurationssynchronisierung (admin/config/development/configuration) importieren, exportieren und synchronisieren. Sie können die Änderungen vor dem Import überprüfen.
Alternativ kann ein einzelnes Objekt über einen Kopier-/Einfügevorgang importiert oder exportiert werden. Dies ist nützlich, wenn Sie z.B. nur einen erstellten View von einer Umgebung in eine andere verschieben möchten.
Die komplette Website-Konfiguration kann außerdem als YAML-Dateien in eine tar.gz-Datei exportiert werden. Dies funktioniert nur, wenn Sie die Konfiguration zwischen zwei Kopien derselben Website bewegen (z.B. Entwicklung und Produktion), weshalb die UUID der Websites übereinstimmen muss.
Um die UUID der Website über die CLI zu prüfen:
- Mit Drush
drush cget system.site
- Mit Drupal Console
drupal debug:config system.site
Beispiele für vollständige Synchronisations-Workflows:
Nach Abschluss der Synchronisation werden alle Änderungen angewandt, wie das Aktivieren neuer Module, Felder oder Inhaltstypen. Kurz gesagt: Alle Konfigurationsänderungen, die auf der Entwicklungsseite gemacht wurden, sollten nun auf der Live-Seite vorhanden sein.
Weitere Informationen
Für detailliertere Informationen über das Konfigurationsmanagement in Drupal 8 können Sie die Referenzseiten der Configuration API besuchen.
Dos and Don'ts
ZU BEACHTEN:
Es wird dringend empfohlen, vor jeder Synchronisation der Zwischen- und aktiven Verzeichnisse ein Database-Dump anzufertigen. Ein Database-Dump „kann Ihr Leben retten“ bei potenziell erforderlichen Rollback-Strategien.
NICHT ZU TUN:
Versuchen Sie nicht, die aktive Konfiguration auf Ihrer Website zu ändern, indem Sie Dateien im Modulverzeichnis config/install bearbeiten.
Das funktioniert NICHT, da Drupal diese Dateien nur beim Installieren des Moduls liest.
Für Live-Bearbeitung müssen Sie drush config-edit oder drupal config:edit verwenden.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.