diff --git a/src/Cli/ConfigGenerator.cs b/src/Cli/ConfigGenerator.cs index ae3087debb..47c4a24d8e 100644 --- a/src/Cli/ConfigGenerator.cs +++ b/src/Cli/ConfigGenerator.cs @@ -16,6 +16,7 @@ using Azure.DataApiBuilder.Core.Resolvers; using Azure.DataApiBuilder.Service; using Cli.Commands; +using HotChocolate.Types; using Microsoft.Data.SqlClient; using Microsoft.Extensions.Logging; using Serilog; @@ -3185,14 +3186,21 @@ public static bool IsConfigValid(ValidateOptions options, FileSystemRuntimeConfi bool mcpEnabled = config.IsMcpEnabled; if (mcpEnabled) { + bool missingFields = false; foreach (KeyValuePair entity in config.Entities) { if (entity.Value.Fields == null || !entity.Value.Fields.Any()) { - _logger.LogWarning($"Entity '{entity.Key}' is missing 'fields' definition while MCP is enabled. " + - "It's recommended to define fields explicitly to ensure optimal performance with MCP."); + missingFields = true; + _logger.LogDebug($"Entity '{entity.Key}' is missing 'fields' definition while MCP is enabled."); } } + + if (missingFields) + { + _logger.LogWarning($"One or more entities are missing `fields` definition while MCP is enabled. " + + "It's recommended to define fields explicitly to ensure optimal performance with MCP."); + } } // Warn if Unauthenticated provider is used with authenticated or custom roles diff --git a/src/Core/Services/MetadataProviders/MsSqlMetadataProvider.cs b/src/Core/Services/MetadataProviders/MsSqlMetadataProvider.cs index cdb54a2ac2..93cbb06e51 100644 --- a/src/Core/Services/MetadataProviders/MsSqlMetadataProvider.cs +++ b/src/Core/Services/MetadataProviders/MsSqlMetadataProvider.cs @@ -81,13 +81,19 @@ public override async Task PopulateTriggerMetadataForTable(string entityName, st if ("UPDATE".Equals(type_desc)) { sourceDefinition.IsUpdateDMLTriggerEnabled = true; - _logger.LogInformation($"An update trigger is enabled for the entity: {entityName}"); + if (!_isValidateOnly) + { + _logger.LogInformation($"An update trigger is enabled for the entity: {entityName}"); + } } if ("INSERT".Equals(type_desc)) { sourceDefinition.IsInsertDMLTriggerEnabled = true; - _logger.LogInformation($"An insert trigger is enabled for the entity: {entityName}"); + if (!_isValidateOnly) + { + _logger.LogInformation($"An insert trigger is enabled for the entity: {entityName}"); + } } } } @@ -362,13 +368,16 @@ protected override async Task GenerateAutoentitiesIntoEntities(IReadOnlyDictiona subStatusCode: DataApiBuilderException.SubStatusCodes.ErrorInInitialization); } - if (runtimeConfig.IsRestEnabled) + if (!_isValidateOnly) { - _logger.LogInformation("[{entity}] REST path: {globalRestPath}/{entityRestPath}", entityName, runtimeConfig.RestPath, entityName); - } - else - { - _logger.LogInformation(message: "REST calls are disabled for the entity: {entity}", entityName); + if (runtimeConfig.IsRestEnabled) + { + _logger.LogInformation("[{entity}] REST path: {globalRestPath}/{entityRestPath}", entityName, runtimeConfig.RestPath, entityName); + } + else + { + _logger.LogInformation(message: "REST calls are disabled for the entity: {entity}", entityName); + } } addedEntities++; diff --git a/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs b/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs index 7d9708bdb0..391284c029 100644 --- a/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs +++ b/src/Core/Services/MetadataProviders/SqlMetadataProvider.cs @@ -123,16 +123,19 @@ public SqlMetadataProvider( _databaseType = runtimeConfig.GetDataSourceFromDataSourceName(dataSourceName).DatabaseType; _logger = logger; _isValidateOnly = isValidateOnly; - foreach ((string entityName, Entity entityMetatdata) in Entities) + if (!_isValidateOnly) { - if (runtimeConfig.IsRestEnabled) + foreach ((string entityName, Entity entityMetatdata) in Entities) { - string restPath = entityMetatdata.Rest?.Path ?? entityName; - _logger.LogInformation("[{entity}] REST path: {globalRestPath}/{entityRestPath}", entityName, runtimeConfig.RestPath, restPath); - } - else - { - _logger.LogInformation(message: "REST calls are disabled for the entity: {entity}", entityName); + if (runtimeConfig.IsRestEnabled) + { + string restPath = entityMetatdata.Rest?.Path ?? entityName; + _logger.LogInformation("[{entity}] REST path: {globalRestPath}/{entityRestPath}", entityName, runtimeConfig.RestPath, restPath); + } + else + { + _logger.LogInformation(message: "REST calls are disabled for the entity: {entity}", entityName); + } } }