RuntimeException: Não foi possível determinar a classe para o tipo de campo encontrado na configuração


11

Meu site recebeu esse erro durante a atualização do Drupal 8.3.7 para o Drupal 8.4.0 e não consigo resolvê-lo.

O site encontrou um erro inesperado. Por favor, tente novamente mais tarde. RuntimeException: Não foi possível determinar a classe para o tipo de campo 'webform' encontrada na configuração 'field.storage.node.webform' em Drupal \ field \ FieldStorageConfigStorage-> mapFromStorageRecords () (linha 157 de core / modules / field / src / FieldStorageConfigStorage. php).


Eu acho que isso não está conectado à versão D8. Provavelmente, todas as versões reportarão o mesmo erro quando você tiver um campo configurado em um tipo de conteúdo em que o código para o tipo de campo não possa ser encontrado.
4k4

Respostas:


34

Uma maneira possível é que seu módulo esteja ausente da base de código ou tenha sido desinstalado incorretamente e você ainda tenha um campo que esteja usando esse módulo ausente.

Experimente os seguintes drushcomandos / SQL para remover o campo quebrado:

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%'"

Aviso : Não execute os comandos acima no banco de dados mestre / ativo. Faça um backup antes de fazer alterações no banco de dados.

Onde field.storage.xxx.xxxestá o seu tipo de armazenamento de campo relatado (por exemplo field.storage.node.webform).

Se o procedimento acima não ajudar, verifique outras referências:

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

No final, você precisa reconstruir seus caches:

drush cr

1
Muito obrigado pela solução. Certamente vai ajudar.

1
Esta deve ser absolutamente a resposta aceita
#

Obrigado @kenorb por esta ótima resposta. +1
Beto Aveiga 12/09/19

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.