diff --git a/modules/graphql_core/src/Plugin/Deriver/Fields/EntityFieldDeriver.php b/modules/graphql_core/src/Plugin/Deriver/Fields/EntityFieldDeriver.php index 61d2a9b20..179dff2bd 100644 --- a/modules/graphql_core/src/Plugin/Deriver/Fields/EntityFieldDeriver.php +++ b/modules/graphql_core/src/Plugin/Deriver/Fields/EntityFieldDeriver.php @@ -42,6 +42,13 @@ protected function getDerivativeDefinitionsFromFieldDefinition(FieldDefinitionIn if (count($propertyDefinitions) === 1) { $propertyDefinition = reset($propertyDefinitions); $derivative['type'] = $propertyDefinition->getDataType(); + + // Workaround for BigInt field types (integer with size = big) + // Treat as String instead of Integer in GraphQL, because of lack support for 64 bit integers + // More info: https://github.com/graphql/graphql-spec/issues/73 + if($propertyDefinition->getDataType() == 'integer' && $itemDefinition->getSetting('size') == 'big') { + $derivative['type'] = 'string'; + } $derivative['property'] = key($propertyDefinitions); } else {