Rimuovi campi personalizzati dai progetti con una corretta pulizia e effetti a cascata
Elimina un Campo Personalizzato
Rimuove permanentemente un campo personalizzato da un progetto insieme a tutti i dati, valori e configurazioni associati. Questa operazione non può essere annullata e influenzerà tutti i record che utilizzano questo campo.
Esempio Base
mutation DeleteCustomField {
deleteCustomField(id: "field_abc123")
}
Esempio Avanzato
mutation DeleteCustomFieldWithResponse {
deleteCustomField(id: "field_abc123")
}
Parametri di Input
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
id |
String! | ✅ Sì | L'identificatore unico del campo personalizzato da eliminare |
Campi di Risposta
Campo | Tipo | Descrizione |
---|---|---|
deleteCustomField |
Boolean! | Restituisce sempre true quando l'eliminazione ha successo |
Permessi Richiesti
Solo i proprietari del progetto e gli amministratori possono eliminare campi personalizzati.
Ruolo | Può Eliminare Campi Personalizzati |
---|---|
OWNER |
✅ Sì |
ADMIN |
✅ Sì |
MEMBER |
❌ No |
CLIENT |
❌ No |
Effetti a Cascata
Quando un campo personalizzato viene eliminato, le seguenti operazioni di pulizia avvengono automaticamente:
Pulizia Dati
- Valori del campo personalizzato - Tutti i valori per questo campo vengono rimossi da tutti i record
- Opzioni del campo - Tutte le opzioni a discesa e configurazioni vengono eliminate
- Storico attività - Tutti i record di attività relativi a questo campo vengono rimossi
- Configurazioni di ricerca - Qualsiasi riferimento a campi di ricerca viene pulito
Gestione Speciale per Campi Pulsante
Se il campo eliminato è di tipo BUTTON
, si verifica una pulizia aggiuntiva:
- Automazioni - Tutte le automazioni attivate da questo pulsante vengono eliminate
- Storico automazione - L'attività di automazione correlata viene rimossa
Aggiornamenti in Tempo Reale
- Grafici - I grafici del progetto sono contrassegnati per l'aggiornamento per riflettere le modifiche
- Formule - Tutti i campi formula nel progetto vengono ricalcolati
- Tracciamento del tempo - I calcoli della durata del tempo vengono aggiornati
- Sottoscrizioni - Le notifiche in tempo reale vengono inviate ai client connessi
- Webhook - I webhook di integrazione vengono attivati con eventi di eliminazione
Risposte di Errore
Campo Personalizzato Non Trovato
{
"errors": [{
"message": "Custom field was not found.",
"extensions": {
"code": "CUSTOM_FIELD_NOT_FOUND"
}
}]
}
Permessi Insufficienti
{
"errors": [{
"message": "You don't have permission to perform this action",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Note Importanti
Eliminazione Permanente
- Nessun annullamento - I campi personalizzati eliminati non possono essere recuperati
- Perdita di dati - Tutti i valori dei campi in tutti i record vengono rimossi permanentemente
- Effetto immediato - Le modifiche hanno effetto immediato su tutti gli utenti del progetto
Considerazioni sulle Prestazioni
- Progetti grandi - L'eliminazione potrebbe richiedere più tempo in progetti con molti record
- Ricalcolo delle formule - I progetti con formule complesse potrebbero subire brevi ritardi di elaborazione
- Aggiornamenti dei grafici - I grafici della dashboard si aggiorneranno per riflettere le modifiche
Migliori Pratiche
- Backup dei dati - Esporta i valori dei campi importanti prima dell'eliminazione
- Comunica le modifiche - Notifica i membri del team prima di eliminare i campi
- Controlla le dipendenze - Verifica che nessuna automazione o formula dipenda dal campo
- Rivedi i report - Aggiorna eventuali report che fanno riferimento al campo eliminato
Operazioni Correlate
- Usa Elenca Campi Personalizzati per trovare gli ID dei campi
- Considera Crea Campo Personalizzato per ricreare campi simili
- Rivedi Valori dei Campi Personalizzati per comprendere l'impatto sui dati
Casi d'Uso Comuni
Rimozione di Campi Non Utilizzati
# 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")
}
Pulizia di Campi di 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")
}
Ristrutturazione dei Campi di Progetto
# 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
}
Eventi Webhook
Quando un campo personalizzato viene eliminato, viene attivato il seguente evento webhook:
{
"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
}