適切なクリーンアップとカスケード効果を伴ってプロジェクトからカスタムフィールドを削除します
カスタムフィールドの削除
プロジェクトからカスタムフィールドを、その関連データ、値、および設定と共に永久に削除します。この操作は元に戻すことができず、このフィールドを使用しているすべてのレコードに影響を与えます。
基本的な例
mutation DeleteCustomField {
deleteCustomField(id: "field_abc123")
}
高度な例
mutation DeleteCustomFieldWithResponse {
deleteCustomField(id: "field_abc123")
}
入力パラメータ
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
id |
String! | ✅ はい | 削除するカスタムフィールドの一意の識別子 |
レスポンスフィールド
フィールド | タイプ | 説明 |
---|---|---|
deleteCustomField |
Boolean! | 削除が成功した場合、常に true を返します |
必要な権限
プロジェクトの所有者と管理者のみがカスタムフィールドを削除できます。
役割 | カスタムフィールドを削除できる |
---|---|
OWNER |
✅ はい |
ADMIN |
✅ はい |
MEMBER |
❌ いいえ |
CLIENT |
❌ いいえ |
カスケード効果
カスタムフィールドが削除されると、以下のクリーンアップ操作が自動的に行われます。
データクリーンアップ
- カスタムフィールドの値 - このフィールドのすべての値がすべてのレコードから削除されます
- フィールドオプション - すべてのドロップダウンオプションと設定が削除されます
- アクティビティ履歴 - このフィールドに関連するすべてのアクティビティレコードが削除されます
- ルックアップ設定 - ルックアップフィールドの参照がクリーンアップされます
ボタンフィールドの特別な取り扱い
削除されたフィールドがタイプ BUTTON
の場合、追加のクリーンアップが行われます:
- 自動化 - このボタンによってトリガーされたすべての自動化が削除されます
- 自動化履歴 - 関連する自動化アクティビティが削除されます
リアルタイム更新
- チャート - プロジェクトチャートが変更を反映するために更新のマークが付けられます
- 数式 - プロジェクト内のすべての数式フィールドが再計算されます
- 時間追跡 - 時間の計算が更新されます
- サブスクリプション - 接続されたクライアントにリアルタイム通知が送信されます
- ウェブフック - 削除イベントと共に統合ウェブフックがトリガーされます
エラーレスポンス
カスタムフィールドが見つかりません
{
"errors": [{
"message": "Custom field was not found.",
"extensions": {
"code": "CUSTOM_FIELD_NOT_FOUND"
}
}]
}
権限が不足しています
{
"errors": [{
"message": "You don't have permission to perform this action",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
重要な注意事項
永久削除
- 元に戻せません - 削除されたカスタムフィールドは回復できません
- データ損失 - すべてのレコードのすべてのフィールド値が永久に削除されます
- 即時効果 - 変更はすべてのプロジェクトユーザーに即座に適用されます
パフォーマンスに関する考慮事項
- 大規模プロジェクト - 多くのレコードがあるプロジェクトでは削除に時間がかかる場合があります
- 数式の再計算 - 複雑な数式を持つプロジェクトでは、一時的な処理遅延が発生する可能性があります
- チャートの更新 - ダッシュボードチャートは変更を反映するために更新されます
ベストプラクティス
- データのバックアップ - 削除前に重要なフィールド値をエクスポートします
- 変更の通知 - フィールドを削除する前にチームメンバーに通知します
- 依存関係の確認 - 自動化や数式がフィールドに依存していないことを確認します
- レポートのレビュー - 削除されたフィールドを参照するレポートを更新します
関連操作
- カスタムフィールドのリストを使用してフィールドIDを見つけます
- 類似のフィールドを再作成するためにカスタムフィールドの作成を検討します
- データの影響を理解するためにカスタムフィールドの値を確認します
一般的な使用例
未使用フィールドの削除
# 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")
}
テストフィールドのクリーンアップ
# 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")
}
プロジェクトフィールドの再構成
# 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
}
ウェブフックイベント
カスタムフィールドが削除されると、以下のウェブフックイベントがトリガーされます:
{
"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
}