Supprimez les champs personnalisés des projets avec un nettoyage approprié et des effets en cascade
Supprimer un champ personnalisé
Supprime définitivement un champ personnalisé d'un projet ainsi que toutes les données, valeurs et configurations associées. Cette opération ne peut pas être annulée et affectera tous les enregistrements utilisant ce champ.
Exemple de base
mutation DeleteCustomField {
deleteCustomField(id: "field_abc123")
}
Exemple avancé
mutation DeleteCustomFieldWithResponse {
deleteCustomField(id: "field_abc123")
}
Paramètres d'entrée
Paramètre | Type | Requis | Description |
---|---|---|---|
id |
String! | ✅ Oui | L'identifiant unique du champ personnalisé à supprimer |
Champs de réponse
Champ | Type | Description |
---|---|---|
deleteCustomField |
Boolean! | Renvoie toujours true lorsque la suppression réussit |
Autorisations requises
Seuls les propriétaires de projet et les administrateurs peuvent supprimer des champs personnalisés.
Rôle | Peut supprimer des champs personnalisés |
---|---|
OWNER |
✅ Oui |
ADMIN |
✅ Oui |
MEMBER |
❌ Non |
CLIENT |
❌ Non |
Effets en cascade
Lorsqu'un champ personnalisé est supprimé, les opérations de nettoyage suivantes se produisent automatiquement :
Nettoyage des données
- Valeurs des champs personnalisés - Toutes les valeurs pour ce champ sont supprimées de tous les enregistrements
- Options de champ - Toutes les options de menu déroulant et configurations sont supprimées
- Historique des activités - Tous les enregistrements d'activité liés à ce champ sont supprimés
- Configurations de recherche - Toutes les références de champ de recherche sont nettoyées
Gestion spéciale pour les champs de bouton
Si le champ supprimé est de type BUTTON
, un nettoyage supplémentaire se produit :
- Automatisations - Toutes les automatisations déclenchées par ce bouton sont supprimées
- Historique des automatisations - L'activité d'automatisation associée est supprimée
Mises à jour en temps réel
- Graphiques - Les graphiques de projet sont marqués pour mise à jour afin de refléter les changements
- Formules - Tous les champs de formule dans le projet sont recalculés
- Suivi du temps - Les calculs de durée sont mis à jour
- Abonnements - Des notifications en temps réel sont envoyées aux clients connectés
- Webhooks - Les webhooks d'intégration sont déclenchés avec des événements de suppression
Réponses d'erreur
Champ personnalisé non trouvé
{
"errors": [{
"message": "Custom field was not found.",
"extensions": {
"code": "CUSTOM_FIELD_NOT_FOUND"
}
}]
}
Autorisations insuffisantes
{
"errors": [{
"message": "You don't have permission to perform this action",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Notes importantes
Suppression permanente
- Pas d'annulation - Les champs personnalisés supprimés ne peuvent pas être récupérés
- Perte de données - Toutes les valeurs de champ dans tous les enregistrements sont définitivement supprimées
- Effet immédiat - Les changements prennent effet immédiatement pour tous les utilisateurs du projet
Considérations de performance
- Grands projets - La suppression peut prendre plus de temps dans les projets avec de nombreux enregistrements
- Recalcul des formules - Les projets avec des formules complexes peuvent subir de brèves retards de traitement
- Mises à jour des graphiques - Les graphiques du tableau de bord seront actualisés pour refléter les changements
Meilleures pratiques
- Sauvegarder les données - Exportez les valeurs de champ importantes avant la suppression
- Communiquer les changements - Informez les membres de l'équipe avant de supprimer des champs
- Vérifier les dépendances - Vérifiez qu'aucune automatisation ou formule ne dépend du champ
- Réviser les rapports - Mettez à jour tous les rapports qui font référence au champ supprimé
Opérations connexes
- Utilisez Lister les champs personnalisés pour trouver les ID de champ
- Envisagez de Créer un champ personnalisé pour recréer des champs similaires
- Consultez Valeurs des champs personnalisés pour comprendre l'impact sur les données
Cas d'utilisation courants
Suppression de champs inutilisés
# First, list fields to identify unused ones
query ListCustomFields {
customFields(projectId: "project_123") {
id
name
type
createdAt
# Check usage in records
}
}
# Then delete the unused field
mutation DeleteUnusedField {
deleteCustomField(id: "field_to_remove")
}
Nettoyage des champs de test
# Remove fields created during testing
mutation CleanupTestFields {
field1: deleteCustomField(id: "test_field_1")
field2: deleteCustomField(id: "test_field_2")
field3: deleteCustomField(id: "test_field_3")
}
Restructuration des champs de projet
# When reorganizing field structure
mutation RestructureFields {
# Delete old fields
deleteOldPriorityField: deleteCustomField(id: "old_priority_field")
deleteOldStatusField: deleteCustomField(id: "old_status_field")
# Note: Create new fields in separate mutations
}
Événements Webhook
Lorsqu'un champ personnalisé est supprimé, l'événement webhook suivant est déclenché :
{
"event": "CUSTOM_FIELD_DELETED",
"projectId": "project_123",
"timestamp": "2024-01-15T10:30:00Z",
"previousValue": {
"id": "field_abc123",
"name": "Priority Level",
"type": "SELECT_SINGLE",
"projectId": "project_123"
},
"currentValue": null
}