Usuń pola niestandardowe z projektów z odpowiednim czyszczeniem i efektami kaskadowymi
Usuń pole niestandardowe
Trwale usuwa pole niestandardowe z projektu wraz ze wszystkimi powiązanymi danymi, wartościami i konfiguracjami. Ta operacja nie może być cofnięta i wpłynie na wszystkie rekordy, które używają tego pola.
Podstawowy przykład
mutation DeleteCustomField {
deleteCustomField(id: "field_abc123")
}
Zaawansowany przykład
mutation DeleteCustomFieldWithResponse {
deleteCustomField(id: "field_abc123")
}
Parametry wejściowe
Parametr | Typ | Wymagane | Opis |
---|---|---|---|
id |
String! | ✅ Tak | Unikalny identyfikator pola niestandardowego do usunięcia |
Pola odpowiedzi
Pole | Typ | Opis |
---|---|---|
deleteCustomField |
Boolean! | Zawsze zwraca true , gdy usunięcie się powiedzie |
Wymagane uprawnienia
Tylko właściciele projektów i administratorzy mogą usuwać pola niestandardowe.
Rola | Może usuwać pola niestandardowe |
---|---|
OWNER |
✅ Tak |
ADMIN |
✅ Tak |
MEMBER |
❌ Nie |
CLIENT |
❌ Nie |
Efekty kaskadowe
Gdy pole niestandardowe jest usuwane, następujące operacje czyszczenia odbywają się automatycznie:
Czyszczenie danych
- Wartości pola niestandardowego - Wszystkie wartości dla tego pola są usuwane ze wszystkich rekordów
- Opcje pola - Wszystkie opcje rozwijane i konfiguracje są usuwane
- Historia aktywności - Wszystkie rekordy aktywności związane z tym polem są usuwane
- Konfiguracje wyszukiwania - Wszelkie odniesienia do pól wyszukiwania są czyszczone
Specjalne traktowanie dla pól przycisków
Jeśli usunięte pole jest typu BUTTON
, następuje dodatkowe czyszczenie:
- Automatyzacje - Wszystkie automatyzacje wywołane przez ten przycisk są usuwane
- Historia automatyzacji - Powiązana aktywność automatyzacji jest usuwana
Aktualizacje w czasie rzeczywistym
- Wykresy - Wykresy projektu są oznaczane do aktualizacji, aby odzwierciedlić zmiany
- Formuły - Wszystkie pola formuł w projekcie są przeliczane
- Śledzenie czasu - Obliczenia czasu trwania są aktualizowane
- Subskrypcje - Powiadomienia w czasie rzeczywistym są wysyłane do podłączonych klientów
- Webhooki - Webhooki integracyjne są wywoływane przy zdarzeniach usunięcia
Odpowiedzi błędów
Pole niestandardowe nie znalezione
{
"errors": [{
"message": "Custom field was not found.",
"extensions": {
"code": "CUSTOM_FIELD_NOT_FOUND"
}
}]
}
Niewystarczające uprawnienia
{
"errors": [{
"message": "You don't have permission to perform this action",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
Ważne uwagi
Trwałe usunięcie
- Brak cofania - Usunięte pola niestandardowe nie mogą być odzyskane
- Utrata danych - Wszystkie wartości pól we wszystkich rekordach są trwale usuwane
- Natychmiastowy efekt - Zmiany wchodzą w życie natychmiastowo dla wszystkich użytkowników projektu
Rozważania dotyczące wydajności
- Duże projekty - Usunięcie może zająć więcej czasu w projektach z wieloma rekordami
- Przeliczanie formuł - Projekty złożonymi formułami mogą doświadczyć krótkich opóźnień w przetwarzaniu
- Aktualizacje wykresów - Wykresy na pulpicie będą odświeżane, aby odzwierciedlić zmiany
Najlepsze praktyki
- Zrób kopię zapasową danych - Eksportuj ważne wartości pól przed usunięciem
- Komunikuj zmiany - Powiadom członków zespołu przed usunięciem pól
- Sprawdź zależności - Upewnij się, że żadna automatyzacja ani formuła nie zależy od pola
- Przejrzyj raporty - Zaktualizuj wszelkie raporty, które odnoszą się do usuniętego pola
Powiązane operacje
- Użyj Lista pól niestandardowych, aby znaleźć identyfikatory pól
- Rozważ Utwórz pole niestandardowe, aby odtworzyć podobne pola
- Przejrzyj Wartości pól niestandardowych, aby zrozumieć wpływ na dane
Typowe przypadki użycia
Usuwanie nieużywanych pól
# 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")
}
Czyszczenie pól testowych
# 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")
}
Restrukturyzacja pól projektu
# 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
}
Zdarzenia webhooków
Gdy pole niestandardowe jest usuwane, wywoływane jest następujące zdarzenie webhooka:
{
"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
}