Ich habe diesen Fehler, wenn ich versuche, die Konfiguration einer anderen Site zu importieren:
Die bereitgestellte Konfiguration kann nicht importiert werden, da sie von einer anderen Site als dieser Site stammt. Sie können die Konfiguration nur zwischen geklonten Instanzen dieser Site synchronisieren.
Ich habe 10 Kunden und muss meine Website-Konfiguration mit 10 verschiedenen Websites synchronisieren.
Die Site-UUID ist ein Problem beim Freigeben einer Konfiguration für eine andere Website. Gibt es eine lösung
8
configuration-management
Axel Briche
quelle
quelle
Antworten:
Sie können die UUID erhalten mit:
Und Sie können es mit ändern
Damit musst du die gleichen Seiten haben.
quelle
Die Konfigurationsverwaltung erlaubt nur die Synchronisierung der Konfiguration zwischen derselben Site oder demselben Projekt, um Probleme beim Import der Konfiguration von Site a.com zu Site b.com zu vermeiden. Um diese Überprüfung durchzuführen, generiert Drupal 8 eine UUID für jede Site.
Sie erhalten die UUID Ihrer aktuellen Site, indem Sie den folgenden Befehl ausführen:
Mit dem obigen Befehl erhalten wir eine ähnliche Ausgabe wie mit der nächsten Auflistung:
Der Konfigurationsimport hat eine andere UUID. Sie können die UUID mit dem folgenden Befehl bestätigen
Aus diesem Grund müssen Sie den Wert der Site-UUID mit dem folgenden Drush-Befehl ändern:
Mit dem obigen Befehl können Sie Ihren bevorzugten Texteditor verwenden, um dieselbe UUID festzulegen, die in Staging-Konfigurationsdateien vorhanden ist.
Wenn Sie nach dem Ändern der UUID und der Berechtigungen die Seite example.com/admin/config/development/configuration erneut aufrufen, werden alle Änderungen, Löschungen, Umbenennungen und Ergänzungen angezeigt.
Quelle: http://enzolutions.com/articles/2014/08/27/understanding-configuration-management-in-drupal-8/
quelle
drush config-set system.site uuid "abcdef-..."
)?drush -y cset system.site uuid $(cat /path/to/config/system.site.yml | awk '/uuid/ { print $2 }')
Verwenden der Drupal-Konsole
Sie können dasselbe mit der Drupal-Konsole erreichen, indem Sie die
system.site
-uuid
-Taste überschreiben .Geben Sie dann den Konfigurationsnamen
system.site
, den Konfigurationsschlüsseluuid
und den entsprechenden Wert ein, wenn Sie dazu aufgefordert werden.quelle
Sie können die Site-UUID ohne Zugriff auf die Site oder die Datenbank abrufen.
Wenn Sie keinen Zugriff auf die ursprüngliche Site / Datenbank haben, können Sie trotzdem von den bereitgestellten Konfigurationsdateien synchronisieren. Die Konfiguration enthält die UUID Ihrer Site, daher müssen Sie diese zuerst festlegen.
Finden Sie Ihr Konfigurations- / Synchronisierungsverzeichnis: Wenn es verschoben wurde, können Sie feststellen, wo es eingestellt wurde
settings.php
. Suchen Sie nach:, um$config_directories['sync']
den Pfad aufzulisten.Gehen Sie zu diesem Konfigurationspfad und suchen Sie nach der Datei: Suchen Sie
system.site.yml
in dieser Datei nachuuid: 86b376c5-385e-4d13-bf00-e5e5443540e3
(Sie werden offensichtlich einen anderen Wert haben). Kopieren Sie diesen Wert.Setzen Sie Ihre Site in drush auf dieselbe Site-UUID, die wir gerade entdeckt haben:
drush cset system.site uuid 86b376c5-385e-4d13-bf00-e5e5443540e3
Synchronisiere die Konfiguration mit drush
drush cim -y
Wenn Sie Fehler erhalten, lesen Sie diese . Ich hatte:
Sobald ich das getan habe, habe ich das CIM erneut ausgeführt, und alles hat wie ein Zauber funktioniert!
Ich hatte eine lokale D8-Instanz installiert, bevor ich versuchte, sie aus der bereitgestellten Konfiguration wiederherzustellen.
quelle
Sie können die UUID für den Zielstandort mit drush cset und drush cget ändern.
Holen Sie sich zuerst die Quell-UUID:
Ersetzen Sie die Ziel-UUID
Jetzt kannst du:
quelle
Wenn Sie den Anweisungen in Gucho Cas Antwort folgen und das Problem weiterhin besteht, vergewissern Sie sich, dass Sie über Schreibberechtigungen in Ihrem Konfigurationsverzeichnis für die Synchronisierung verfügen. Es wird Ihnen dieselbe Fehlermeldung angezeigt, auch wenn Ihre Benutzer-IDs identisch sind, Ihr System jedoch keine Schreibberechtigungen hat.
Sie können dies am besten überprüfen, indem Sie im Abschnitt Synchronisieren auf die Registerkarte Importieren klicken. Wenn Sie nicht über die richtigen Dateiberechtigungen verfügen, werden Sie dort darüber informiert.
quelle