web-dev-qa-db-fra.com

RuntimeException: impossible de déterminer la classe pour le type de champ trouvé dans la configuration

Mon site Web a rencontré cette erreur lors de la mise à jour de Drupal 8.3.7 vers Drupal 8.4.0, et je ne parviens pas à le résoudre).

Le site Web a rencontré une erreur inattendue. Veuillez réessayer plus tard. RuntimeException: impossible de déterminer la classe pour le type de champ 'webform' trouvé dans la configuration 'field.storage.node.webform' dans Drupal\field\FieldStorageConfigStorage-> mapFromStorageRecords () (ligne 157 de core/modules/field/src/FieldStorageConfigStorage. php).

11
user79200

Une façon possible est que votre module soit absent de la base de code ou qu'il ait été mal désinstallé et que vous ayez toujours un champ qui utilise ce module manquant.

Essayez les commandes drush/SQL suivantes pour supprimer le champ interrompu:

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

Avertissement : N'exécutez pas les commandes ci-dessus sur la base de données master/live. Effectuez une sauvegarde avant d'apporter des modifications à la base de données.

field.storage.xxx.xxx est le type de stockage de champ indiqué (par exemple field.storage.node.webform).

Si ci-dessus ne vous aide pas, vérifiez toute autre référence en:

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

À la fin, vous devez reconstruire vos caches:

drush cr
35
kenorb

J'ai eu une erreur similaire avec un autre module (adresse dans mon cas). Je pourrais le réparer en réinstallant simplement le module concerné avec la console drupal par la commande suivante:

drupal module:install address

Et revenons aux affaires :)

2