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

  1. Sauvegarder les données - Exportez les valeurs de champ importantes avant la suppression
  2. Communiquer les changements - Informez les membres de l'équipe avant de supprimer des champs
  3. Vérifier les dépendances - Vérifiez qu'aucune automatisation ou formule ne dépend du champ
  4. Réviser les rapports - Mettez à jour tous les rapports qui font référence au champ supprimé

Opérations connexes

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
}

Assistant IA

Les réponses sont générées par l'IA et peuvent contenir des erreurs.

Comment puis-je vous aider ?

Posez-moi toutes vos questions sur Blue ou cette documentation.

Entrez pour envoyer • Maj+Entrée pour une nouvelle ligne • ⌘I pour ouvrir