Wystąpił ten błąd podczas próby zaimportowania konfiguracji innej witryny:
Nie można zaimportować konfiguracji etapowej, ponieważ pochodzi ona z innej witryny niż ta witryna. Możesz synchronizować konfigurację tylko między sklonowanymi instancjami tej witryny.
Mam 10 klientów i muszę zsynchronizować konfigurację mojej witryny z 10 różnymi stronami internetowymi.
Identyfikator UUID witryny jest problemem związanym z udostępnianiem konfiguracji z inną witryną. Czy jest jakieś rozwiązanie?
8
configuration-management
Axel Briche
źródło
źródło
Odpowiedzi:
UUID można uzyskać za pomocą:
I możesz to zmienić za pomocą
Dzięki temu musisz mieć te same strony.
źródło
Zarządzanie konfiguracją pozwala tylko na synchronizację konfiguracji między tą samą witryną lub projektem, aby uniknąć problemów z importowaniem konfiguracji z witryny a.com do b.com, w celu przeprowadzenia tej weryfikacji Drupal 8 generuje identyfikator UUID dla każdej witryny.
Możesz uzyskać bieżący identyfikator UUID witryny, wykonując następujące polecenie:
Powyższe polecenie będzie miało wyjście podobne do następnej listy:
Import konfiguracji ma inny identyfikator UUID, możesz potwierdzić identyfikator UUID za pomocą następującego polecenia
Z tego powodu musisz zmienić wartość Site UUID za pomocą następującego polecenia Drush:
Powyższe polecenie umożliwia użycie ulubionego edytora tekstu do ustawienia tego samego UUID obecnego w tymczasowych plikach konfiguracyjnych.
Po zmianie identyfikatora UUID i zmianie uprawnień, jeśli ponownie odwiedzisz stronę example.com/admin/config/development/configuration, zobaczysz wszystkie zmiany, usunięcia, zmiany nazw i uzupełnienia.
źródło: http://enzolutions.com/articles/2014/08/27/understanding-configuration-management-in-drupal-8/
źródło
drush config-set system.site uuid "abcdef-..."
)?drush -y cset system.site uuid $(cat /path/to/config/system.site.yml | awk '/uuid/ { print $2 }')
Korzystanie z konsoli Drupal
Możesz to zrobić z Drupal Console , zastępując klawisz
system.site
-uuid
.Następnie po wyświetleniu monitu wprowadź nazwę
system.site
konfiguracji, klucz konfiguracjiuuid
i odpowiednią wartość.źródło
Identyfikator UUID witryny można uzyskać bez dostępu do witryny lub bazy danych.
Jeśli nie masz dostępu do oryginalnej witryny / bazy danych, nadal możesz synchronizować z dostarczonymi plikami konfiguracyjnymi. Konfiguracja będzie zawierać identyfikator UUID Twojej witryny, więc musisz ją najpierw ustawić.
Znajdź katalog config / sync: jeśli zostanie przeniesiony, możesz znaleźć, gdzie został ustawiony
settings.php
. Poszukaj:,$config_directories['sync']
która wyświetli ścieżkę.Idź do tej ścieżce config i szukać pliku:
system.site.yml
W tym pliku, poszukajuuid: 86b376c5-385e-4d13-bf00-e5e5443540e3
(będziesz mieć inną wartość, oczywiście). Skopiuj tę wartość.W drush ustaw swoją stronę na ten sam identyfikator, który właśnie odkryliśmy:
drush cset system.site uuid 86b376c5-385e-4d13-bf00-e5e5443540e3
Zsynchronizuj konfigurację za pomocą drush
drush cim -y
Jeśli pojawią się błędy, przeczytaj je . Miałem:
Kiedy to zrobiłem, przestawiłem krawędź i wszystko działało jak urok!
Zainstalowałem lokalną instancję D8 przed próbą przywrócenia z dostarczonej konfiguracji.
źródło
Możesz zmienić UUID dla strony docelowej za pomocą drush cset i drush cget.
Najpierw pobierz źródłowy identyfikator UUID:
Zamień docelowy UUID
Teraz możesz:
źródło
Jeśli postępujesz zgodnie z instrukcjami zawartymi w odpowiedzi Gucho Ca i nadal masz problem, upewnij się, że masz uprawnienia do zapisu w katalogu konfiguracji synchronizacji. Daje ci ten sam komunikat o błędzie, nawet jeśli twoje identyfikatory są takie same, ale twój system nie ma uprawnień do zapisu.
Dobrym sposobem na sprawdzenie jest kliknięcie karty Importuj w sekcji Synchronizuj. Jeśli nie masz odpowiednich uprawnień do plików, zostaniesz o tym poinformowany.
źródło