Drupal 8에서 커스텀 모듈을 만들고 있습니다. 여기에는 YAML 구성 파일이 포함되어 있습니다.
개발함에 따라 구성을 변경하고 추가해야합니다 (예 : 사용자 지정 엔터티에 다른 필드 추가).
현재 Drupal이 변경 사항을 알도록하는 유일한 방법은 모듈을 제거하고 다시 설치하는 것입니다.
Drupal이 모듈이 제공 한 구성 파일이 활성 구성과 동일한 지 확인하고 그렇지 않은 경우 활성 구성을 업데이트하는 방법이 있습니까? 모듈 업데이트는 어떻게 처리됩니까? D7에서는 hook_update_N
PHP를 사용하여 필드를 추가하는 데 사용되지만 D8의 CM에서 처리 해야하는 것처럼 보입니까?
모듈에서 yml 파일을 업데이트 한 후 시도한 사항 :
drush cr
, 구성 동기화.업데이트 된 모든 구성 파일을 수동으로 복사
sites/default/files/config_XXX/staging/
-이 오류는 "이 사이트와 다른 사이트에서 시작되었으므로 준비된 구성을 가져올 수 없습니다.이 사이트의 복제 된 인스턴스간에 만 구성을 동기화 할 수 있습니다." .구성 관리자를 사용하여 파일을 하나씩 수동으로 가져옵니다. 이것은 작동하지만 분명히 더 자동적 인 방법이 있어야합니다.
[편집] 수동으로 config_update 모듈을 사용하여 변경 사항을 검사하고 모듈 구성으로 '되돌아 가십시오 '. 다시, 이것은 수동입니다.
편집 : 에서 구성 관리 - 것과하지 말아야 할
하지마
모듈의 config / install 디렉토리에서 파일을 변경하여 사이트의 활성 구성을 변경하십시오. Drupal은 모듈이 설치 될 때 해당 디렉토리에서만 읽을 수 있기 때문에 작동하지 않습니다.
...하지만이 변경이되어 가고 모듈은 그들의 최초의 해제에 필요한 config (설정) 어떤 결합하지 않는 한, 일이, 이제까지 업데이트하거나 설정을 추가 않을 수도 있습니다.
미리 감사드립니다.
hook_update_N
나는 뭔가를 가정했지만 확실하지 않습니다
hook_update_N
. 작은 사이트 (및 2 부 )를 위한 Drupal 8에 대한 훌륭한 기사 . D8에서 "사이트는 모듈이 아닌 구성을 소유합니다" .