RuntimeException : 구성에서 발견 된 필드 유형에 대한 클래스를 판별 할 수 없습니다


11

Drupal 8.3.7에서 Drupal 8.4.0으로 업데이트하는 동안 웹 사이트에이 오류가 발생하여 해결할 수 없습니다.

웹 사이트에 예기치 않은 오류가 발생했습니다. 나중에 다시 시도하십시오. RuntimeException : Drupal \ field \ FieldStorageConfigStorage-> mapFromStorageRecords () (core / modules / field / src / FieldStorageConfigStorage의 157 행)의 'field.storage.node.webform'구성에있는 'webform'필드 유형에 대한 클래스를 판별 할 수 없습니다. php).


나는 이것이 D8 버전에 연결되어 있지 않다고 생각합니다. 필드 유형의 코드를 찾을 수없는 컨텐츠 유형으로 필드를 구성한 경우 모든 버전에서 동일한 오류가보고됩니다.
4k4

답변:


36

가능한 한 가지 방법은 모듈이 코드베이스에서 누락되었거나 잘못 제거되었으며 여전히 누락 된 모듈을 사용하는 필드입니다.

drush깨진 필드를 제거 하려면 다음 / SQL 명령을 시도하십시오 .

drush sqlq "DELETE FROM cache_config"
drush sqlq "DELETE FROM config WHERE name = 'field.storage.xxx.xxx' OR data LIKE '%field.storage.xxx.xxx%'"
drush sqlq "DELETE FROM config_snapshot  WHERE name = 'field.storage.xxx.xxx' OR data LIKE '%field.storage.xxx.xxx%'"

경고 : master / live 데이터베이스에서 위 명령을 실행하지 마십시오. 데이터베이스를 변경하기 전에 백업하십시오.

field.storage.xxx.xxx보고 된 필드 스토리지 유형은 어디에 있습니까 (예 :) field.storage.node.webform.

위의 방법으로도 도움이되지 않으면 다음을 통해 다른 참조를 확인하십시오.

drush sql-dump --ordered-dump | grep field.storage.xxx.xxx

마지막으로 캐시를 다시 작성해야합니다.

drush cr

1
솔루션 주셔서 대단히 감사합니다. 확실히 도움이 될 것입니다.

1
이것은 절대적으로 받아 들여지는 대답이어야합니다
Mrweiner

이 훌륭한 답변에 @kenorb에게 감사드립니다. +1
Beto Aveiga

2

다른 모듈 (내 경우에는 주소)과 비슷한 오류가 발생했습니다. 다음 명령으로 drupal 콘솔로 관련 모듈을 다시 설치하면 문제를 해결할 수 있습니다.

drupal module:install address

그리고 다시 사업으로 :)


+1 예, 이것도 잘 작동한다는 것을 알았습니다.
therobyouknow

composer require drupal/address 다른 사람 과 마찬가지로 다시 설치했습니다 . drupal.org/project/address/issues/2868049#comment-12044874
therobyouknow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.