J'ai créé des champs supprimés. Les tableaux pour les champs ont disparu lors de la suppression, mais ils sont toujours dans field_config
etfield_config_instance
Est-il possible de les nettoyer?
Merci
Les entrées dans field_config
et field_config_instance
auront probablement eu une valeur de 1
dans la deleted
colonne.
Cela signifie qu'ils sont marqués pour suppression, mais ne seront pas réellement supprimés jusqu'à ce que vous exécutiez cron (les données de champ supprimées sont purgées field_cron()
).
en utilisant drush:
vous devrez peut-être exécuter plusieurs fois, ou augmenter la taille de $ batch_s alors il pourrait toujours y avoir des tables field_deleted et field_deleted_revision, même après avoir exécuté cron
requete
si vous venez vide, vous pouvez supprimer en toute sécurité ces tables restantes
la source
Au lieu d'exécuter cron pour supprimer les données supprimées, vous pouvez exécuter manuellement field_purge_batch ($ batch_size) .
Pour exécuter manuellement la fonction, vous pouvez soit:
La taille de lot à utiliser varie en fonction de l'environnement et des besoins de votre serveur. J'ai utilisé des valeurs aussi basses que 5 et aussi élevées que 10000.
la source
Pour les utilisateurs de Drupal 8,
J'ai aussi vécu ça, fouillez le code. J'ai trouvé cela pour toutes les raisons pour lesquelles les champs n'étaient pas supprimés après vous, les éléments suivants:
Les champs persistent à ne pas disparaître, ceci en raison d'une logique ici, dans field_purge_batch
Les modules qui sont dépendants sont désinstallés. c'est la raison pour laquelle les champs ne sont pas supprimés.
Comment résoudre ça? Il est recommandé de réinstaller le module en premier et de purger ces champs et de le désinstaller à nouveau. Pour savoir quel module vous devez réinstaller:
Dans le cas où vous ne souhaitez pas adopter cette approche de réinstallation du module, vous pouvez également supprimer immédiatement, je ne sais pas quel est le comportement mais il devrait faire le travail.
Sauvegarde d'abord !!!
Oui, ne soyez pas paresseux, cela vous sauvera le cul, si quelque chose se passe mal.
Faites le cron pour la dernière fois. J'espère que cela résoudra le problème :)
la source
Je n'arrive pas à trouver de solution. J'ai donc fini par les supprimer manuellement de ces deux tables.
la source