{"record":{"id":"0ab0eb7c36f2dbac","repo":"hasura/graphql-engine","slug":"no-data-connector-field-mapping-found-for-field","errorCode":null,"errorMessage":"no data connector field mapping found for field '{field_name}' of object type '{object_type_name}'","messagePattern":"no data connector field mapping found for field '(.+?)' of object type '(.+?)'","errorType":"error_code","errorClass":"ArgumentPresetExecutionError","httpStatus":null,"severity":"error","filePath":"v3/crates/plan/src/query/arguments.rs","lineNumber":400,"sourceCode":"        role: Role,\n        model_name: Qualified<ModelName>,\n    },\n    #[error(\"command {command_name} does not have a source defined\")]\n    CommandSourceNotFound {\n        command_name: Qualified<CommandName>,\n    },\n    #[error(\"command permissions for command {command_name} not found for role {role}\")]\n    CommandArgumentPresetsNotFound {\n        command_name: Qualified<CommandName>,\n        role: Role,\n    },\n    #[error(\"argument mapping not found for {argument_name}\")]\n    ArgumentMappingNotFound { argument_name: ArgumentName },\n    #[error(\"type mapping not found for object {object_type_name}\")]\n    TypeMappingNotFound {\n        object_type_name: Qualified<CustomTypeName>,\n    },\n    #[error(\n        \"no data connector field mapping found for field '{field_name}' of object type '{object_type_name}'\"\n    )]\n    FieldMappingNotFound {\n        object_type_name: Qualified<CustomTypeName>,\n        field_name: FieldName,\n    },\n    #[error(\n        \"no field definition found for field '{field_name}' of object type '{object_type_name}'\"\n    )]\n    FieldDefinitionNotFound {\n        object_type_name: Qualified<CustomTypeName>,\n        field_name: FieldName,\n    },\n    #[error(\n        \"no data connector field mapping found for field '{field_name}' of object type '{object_type_name}'\"\n    )]\n    DataConnectorFieldMappingNotFound {\n        object_type_name: Qualified<CustomTypeName>,","sourceCodeStart":382,"sourceCodeEnd":418,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/plan/src/query/arguments.rs#L382-L418","documentation":"FieldMappingNotFound is thrown when the planner looks for the data connector field mapping of a specific field on an object type and cannot find one. Field mappings associate a logical field name with the connector's column/property; this error means the field is known but has no mapping to the backend.","triggerScenarios":"Selecting or mapping a field of an object type during argument/preset resolution when that field lacks a field mapping in metadata — e.g. a computed or newly added field with no backend column mapping.","commonSituations":"Adding a field to a type in the GraphQL schema without a corresponding mapping; renaming a column in the database without updating the field mapping; connector schema drift after upgrades.","solutions":["Add a field mapping for the named field on the named object type","Check spelling/case of the field name in the query against metadata","Sync field mappings with the current connector schema (introspect/regenerate)","Reload metadata and retry"],"exampleFix":"// before\n{\"objectTypes\":{\"users\":{\"fields\":{\"email\":{}}}}}\n// after\n{\"objectTypes\":{\"users\":{\"fields\":{\"email\":{\"mapping\":{\"column\":\"email_address\"}}}}}}","handlingStrategy":"validation","validationCode":"fn field_mapping_exists(metadata: &Metadata, t: &Qualified<CustomTypeName>, f: &FieldName) -> bool {\n    metadata.object_types.get(t)\n        .and_then(|o| o.field_mappings.as_ref())\n        .map(|m| m.contains_key(f)).unwrap_or(false)\n}","typeGuard":"fn is_field_mapping_not_found(e: &ArgumentPresetExecutionError) -> bool {\n    matches!(e, ArgumentPresetExecutionError::FieldMappingNotFound { .. })\n}","tryCatchPattern":"match result {\n    Err(PlanError::Arguments(ArgumentPresetExecutionError::FieldMappingNotFound { object_type_name, field_name })) => {\n        bad_request(format!(\"no mapping for {field_name} on {object_type_name}\"));\n    }\n    other => other,\n}","preventionTips":["Auto-generate field mappings by introspecting the connector","Use consistent casing conventions (snake_case backend, camelCase GraphQL) with a codified transform","Validate field mapping coverage in CI for every object type"],"tags":["rust","field-mapping","metadata","plan"],"backgroundTag":"metadata-mapping-missing","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}