Entfernen Sie benutzerdefinierte Felder aus Projekten mit ordnungsgemäßer Bereinigung und kaskadierenden Effekten
Ein benutzerdefiniertes Feld löschen
Entfernt dauerhaft ein benutzerdefiniertes Feld aus einem Projekt zusammen mit allen zugehörigen Daten, Werten und Konfigurationen. Dieser Vorgang kann nicht rückgängig gemacht werden und wirkt sich auf alle Datensätze aus, die dieses Feld verwenden.
Einfaches Beispiel
mutation DeleteCustomField {
deleteCustomField(id: "field_abc123")
}
Fortgeschrittenes Beispiel
mutation DeleteCustomFieldWithResponse {
deleteCustomField(id: "field_abc123")
}
Eingabeparameter
Parameter | Typ | Erforderlich | Beschreibung |
---|---|---|---|
id |
String! | ✅ Ja | Die eindeutige Kennung des zu löschenden benutzerdefinierten Feldes |
Antwortfelder
Feld | Typ | Beschreibung |
---|---|---|
deleteCustomField |
Boolean! | Gibt immer true zurück, wenn die Löschung erfolgreich ist |
Erforderliche Berechtigungen
Nur Projektbesitzer und Administratoren können benutzerdefinierte Felder löschen.
Rolle | Kann benutzerdefinierte Felder löschen |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
❌ Nein |
CLIENT |
❌ Nein |
Kaskadierende Effekte
Wenn ein benutzerdefiniertes Feld gelöscht wird, erfolgen automatisch die folgenden Bereinigungsoperationen:
Datenbereinigung
- Werte benutzerdefinierter Felder - Alle Werte für dieses Feld werden aus allen Datensätzen entfernt
- Feldoptionen - Alle Dropdown-Optionen und Konfigurationen werden gelöscht
- Aktivitätsverlauf - Alle Aktivitätsdatensätze, die mit diesem Feld verbunden sind, werden entfernt
- Lookup-Konfigurationen - Alle Verweise auf Lookup-Felder werden bereinigt
Besondere Handhabung für Schaltflächenfelder
Wenn das gelöschte Feld vom Typ BUTTON
ist, erfolgt eine zusätzliche Bereinigung:
- Automatisierungen - Alle Automatisierungen, die durch diese Schaltfläche ausgelöst werden, werden gelöscht
- Automatisierungshistorie - Verwandte Automatisierungsaktivitäten werden entfernt
Echtzeit-Updates
- Diagramme - Projektdiagramme werden zur Aktualisierung markiert, um die Änderungen widerzuspiegeln
- Formeln - Alle Formel-Felder im Projekt werden neu berechnet
- Zeiterfassung - Zeitdauerberechnungen werden aktualisiert
- Abonnements - Echtzeitbenachrichtigungen werden an verbundene Clients gesendet
- Webhooks - Integrationswebhooks werden mit Löschereignissen ausgelöst
Fehlerantworten
Benutzerdefiniertes Feld nicht gefunden
{
"errors": [{
"message": "Custom field was not found.",
"extensions": {
"code": "CUSTOM_FIELD_NOT_FOUND"
}
}]
}
Unzureichende Berechtigungen
{
"errors": [{
"message": "You don't have permission to perform this action",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Wichtige Hinweise
Permanente Löschung
- Keine Rückgängig - Gelöschte benutzerdefinierte Felder können nicht wiederhergestellt werden
- Datenverlust - Alle Feldwerte in allen Datensätzen werden dauerhaft entfernt
- Sofortige Wirkung - Änderungen treten sofort für alle Projektbenutzer in Kraft
Leistungsüberlegungen
- Große Projekte - Die Löschung kann in Projekten mit vielen Datensätzen länger dauern
- Neuberechnung von Formeln - Projekte mit komplexen Formeln können kurze Verarbeitungsverzögerungen erfahren
- Diagrammaktualisierungen - Dashboard-Diagramme werden aktualisiert, um die Änderungen widerzuspiegeln
Best Practices
- Daten sichern - Wichtige Feldwerte vor der Löschung exportieren
- Änderungen kommunizieren - Teammitglieder vor der Löschung von Feldern benachrichtigen
- Abhängigkeiten überprüfen - Überprüfen, ob keine Automatisierungen oder Formeln vom Feld abhängen
- Berichte überprüfen - Alle Berichte aktualisieren, die auf das gelöschte Feld verweisen
Verwandte Operationen
- Verwenden Sie Benutzerdefinierte Felder auflisten, um Feld-IDs zu finden
- Ziehen Sie Benutzerdefiniertes Feld erstellen in Betracht, um ähnliche Felder neu zu erstellen
- Überprüfen Sie Werte benutzerdefinierter Felder, um die Auswirkungen auf die Daten zu verstehen
Häufige Anwendungsfälle
Entfernen ungenutzter Felder
# 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")
}
Bereinigung von Testfeldern
# 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")
}
Umstrukturierung von Projektfeldern
# 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
}
Webhook-Ereignisse
Wenn ein benutzerdefiniertes Feld gelöscht wird, wird das folgende Webhook-Ereignis ausgelöst:
{
"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
}