web-dev-qa-db-fra.com

Comment supprimer manuellement ou par programme un champ?

J'ai essayé de créer un champ, mais mon serveur a craqué à mi-chemin avec une erreur de serveur interne en raison d'une attaque de spambot ...

Maintenant, quand j'essaye d'ajouter à nouveau le champ, j'obtiens:

Le nom lisible par machine est déjà utilisé. Elle doit être unique.

Je suppose que certaines tables ont été remplies dans la base de données. Comment puis-je les supprimer facilement?

8
giorgio79

Vous pouvez également utiliser drush pour exécuter field_delete_field() . Exécutez simplement:

drush eval 'field_delete_field("yourfield")'
27
Jance

Wow, la création d'un champ prend environ 2 secondes ... mais s'il s'est effondré, je suppose qu'il s'est effondré.

Puisque vous ne savez pas "où" il a chié, vous devrez chercher les tables pour être sûr de nettoyer quoi que ce soit IS là-bas ...

  • Drop les tables field_data_FIELD_THE_NAME_YOU_GAVE_IT et field_revision_FIELD_THE_NAME_YOU_GAVE_IT.

  • Aussi dans field_config et field_config_instance recherchez les clés name (et les clés bundle) pour le champ + les bundles auxquels vous avez lié le champ nommé. Supprimez également ces entrées dans ces 2 tableaux.

  • Videz le cache de votre site.

4
tenken