구성 가져 오기 및 모듈 업데이트를 어떤 순서로 실행해야합니까?


10

모듈의 스키마 버전은 키-값 스토리지에 저장되므로 각 사이트마다 고유하며 구성 관리를 통해 동기화되지 않습니다. 업데이트는 구성에 캡슐화되지 않은 조정 (예 : 데이터베이스 업데이트)을 수행해야하지만 구성에 포함될 수있는 다른 변경 (예 : 새 구성 값 추가)이 있기 때문에 의미가 있습니다.

  • 어떤 순서로든 구성 가져 오기 및 데이터베이스 업데이트를 실행할 위험이 있습니까?
  • 해당 작업을 실행하기 위해 선호되는 순서는 무엇입니까?
  • 업데이트 후크는 이미 가져온 구성 항목에 대해 특별한 조정을 수행해야합니까?
  • 프로덕션 환경을 완전히 업데이트하는 데 필요한 다른 작업이 있습니까?

관련 문제 : drupal.org/node/2901418 :
milkovsky

답변:


12

구성을 가져 오기 전에 업데이트를 실행해야합니다

코어에 대해 보류중인 문제는 구성을 가져 오기 전에 코드와 스키마 버전이 일치하는지 확인합니다 .


업데이트 전 구성 가져 오기 관련 문제

  • 구성 값에 의존하는 업데이트 후크는 사전 가져 오기 값에서 실행 된 경우와 다른 결과로 끝날 수 있습니다.

  • 이미 존재하는 구성 엔터티를 만들려고하면 업데이트가 실패 할 수 있습니다.

업데이트 후 구성 가져 오기에 대한 우려

  • 새 구성 엔터티를 소개하는 업데이트가 먼저 실행되면 구성에있는 것과 다른 UUID를 갖는 새 구성 항목이 만들어집니다. 그러나 구성을 가져온 후에는 엔티티를 구성 버전으로 바꿔야합니다.

    엔터티를 교체하면 관련 콘텐츠에 영향을 줄 경우 여기에 잠재적 인 문제가있을 수 있습니다. 예를 들어, 업데이트가 한 필드에서 다른 필드로 컨텐츠를 마이그레이션하는 경우 구성 가져 오기에서 필드가 완전히 바뀌고 컨텐츠가 손실 될 수 있습니다. 이 경우 대상 환경에서 업데이트를 실행하고 결과 구성을 내보내도록 배포 프로세스를 조정해야 할 수 있습니다.


이전에는 순서가 중요하지 않다는 대답을 남겼습니다 (업데이트 및 구성 순서가 구현 된 순서와 동일해야 함). 업데이트 후 항상 구성을 내 보내야하기 때문에 내가 틀렸다고 생각합니다. 따라서 로컬에서는 업데이트 한 다음 내보내고 배포하면 업데이트 한 다음 가져옵니다.
ognockocaten

연결된 문제에 대해 설명 할 때 엔티티 업데이트에서 새 필드를 가져와야하거나 그렇지 않으면 post_update 후크가 실패하는 경우가 있습니다. 이 경우 데이터베이스를 업데이트 하기 전에 구성 가져 오기를 수행 해야 합니다. 이에 신선한 포획은 여기 보인다 drupal.org/project/drupal/issues/2901418
atwixtor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.