답변:
다음을 사용하여 UUID를 얻을 수 있습니다.
drush config-get "system.site" uuid
그리고 당신은 그것을 변경할 수 있습니다
drush config-set "system.site" uuid "fjfj34-e3bb-2ab8-4d21-9100-b5etgetgd99d5"
그것으로 당신은 같은 사이트를 가져야합니다.
구성 관리는 동일한 사이트 또는 프로젝트 간의 동기화 구성 만 허용하여 사이트 a.com에서 b.com으로 구성을 가져 오는 데 문제가 발생하지 않도록함으로써 이러한 유효성 검사를 수행합니다. Drupal 8 은 각 사이트에 대해 UUID 를 생성합니다 .
현재 사이트 UUID가 다음 명령을 실행하도록합니다.
drush cget system.site
위의 명령은 다음 목록과 유사한 출력을 갖습니다.
uuid: 236fa77c-d83e-42de-8a03-03c574c00160
name: Drupal 8
mail: user@example.com
slogan: ''
page:
403: ''
404: ''
front: node
admin_compact_mode: false
weight_select_max: 100
langcode: en
구성 가져 오기에 다른 UUID가 있습니다. 다음 명령으로 UUID를 확인할 수 있습니다
cat sites/default/config/staging/system.site.yml
따라서 다음 Drush 명령을 사용하여 Site UUID의 값을 변경해야합니다.
drush cedit system.site
위의 명령을 사용하면 즐겨 사용하는 텍스트 편집기를 사용하여 준비 구성 파일에있는 동일한 UUID를 설정할 수 있습니다.
cat sites/default/config/staging/system.site.yml
UUID를 변경하고 권한을 변경 한 후 example.com/admin/config/development/configuration 페이지를 다시 방문하면 모든 변경, 삭제, 이름 변경 및 추가가 표시됩니다.
출처 : http://enzolutions.com/articles/2014/08/27/understanding-configuration-management-in-drupal-8/
drush config-set system.site uuid "abcdef-..."
) 일치하도록 기존 Drupal 웹 사이트 (새 설치)의 사이트 UUID를 변경하면 정확히 어떻게 됩니까?
drush -y cset system.site uuid $(cat /path/to/config/system.site.yml | awk '/uuid/ { print $2 }')
— 키 를 재정 의하여 Drupal Console 에서 동일한 기능을 수행 할 수 있습니다 .system.site
uuid
$ drupal config:override
그런 다음 프롬프트가 표시되면 구성 이름 system.site
, 구성 키 uuid
및 적절한 값을 입력하십시오.
Enter configuration name [advagg.settings]:
> system.site
Enter the configuration key [uuid]:
> uuid
Enter the configuration value:
> 656165f1-1017-45a1-9bd8-f70e31cf29ab
Configuration name system.site
------------------- -------------------------------------- --------------------------------------
Configuration key Original Value Override Value
------------------- -------------------------------------- --------------------------------------
uuid 7622bb19-5f3f-452d-82a3-c0a88241e789 656165f1-1017-45a1-9bd8-f70e31cf29ab
------------------- -------------------------------------- --------------------------------------
사이트 나 데이터베이스에 액세스하지 않고도 사이트 UUID를 얻을 수 있습니다.
원본 사이트 / 데이터베이스에 액세스 할 수없는 경우 제공된 구성 파일에서 계속 동기화 할 수 있습니다. 설정에는 사이트의 UUID가 포함되므로 먼저 설정해야합니다.
설정 / 동기화 디렉토리 찾기 : 이동 한 경우에서 설정 한 위치를 찾을 수 있습니다 settings.php
. $config_directories['sync']
경로를 나열하는을 찾으십시오
.
해당 구성 경로로 이동하여 system.site.yml
파일을 찾으십시오. 해당 파일에서 uuid: 86b376c5-385e-4d13-bf00-e5e5443540e3
(다른 값을 가질 것입니다) 찾으십시오 . 해당 값을 복사하십시오.
drush에서 방금 발견 한 것과 동일한 사이트로 사이트를 설정하십시오.
drush cset system.site uuid 86b376c5-385e-4d13-bf00-e5e5443540e3
drush를 사용하여 구성 동기화
drush cim -y
오류가 발생하면을 읽으십시오 . 나는했다 :
내가 그렇게 한 후에 나는 cim을 되찾았고 모든 것이 매력처럼 작동했습니다!
제공된 구성에서 복원하기 전에 로컬 D8 인스턴스를 설치했습니다.
drush cset 및 drush cget을 사용하여 대상 사이트의 UUID를 변경할 수 있습니다.
먼저 소스 UUID를 얻으십시오.
$ cd ~/Sites/sourcesite <-- your drupal site root
$ drush cget system.site uuid
This will return something like:
'system.site:uuid': 86b376c5-385e-4d13-bf00-e5e5443540e3
대상 UUID를 교체하십시오.
cd ~/Sites/destinationsite <-- your drupal site root
$ drush cset system.site uuid 86b376c5-385e-4d13-bf00-e5e5443540e3
이제 다음을 수행 할 수 있습니다.