From fed6eaa03d5cc63de21e5e16878390dd57bb0164 Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Mon, 4 Oct 2021 11:47:03 +0200 Subject: [PATCH] Avoid breaking changes from merge. --- .../Persistence/UmbracoDatabaseFactory.cs | 69 ++++++++++++------- .../Runtime/SqlMainDomLock.cs | 14 +--- 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs index 299aff2caa..fd8bdc0269 100644 --- a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs +++ b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs @@ -6,6 +6,7 @@ using Microsoft.Extensions.Options; using NPoco; using NPoco.FluentMappings; using Umbraco.Cms.Core; +using Umbraco.Cms.Core.Configuration; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Infrastructure.Migrations.Install; using Umbraco.Cms.Infrastructure.Persistence.FaultHandling; @@ -72,6 +73,47 @@ namespace Umbraco.Cms.Infrastructure.Persistence #region Constructors + + /// + /// Initializes a new instance of the . + /// + /// Used by the other ctor and in tests. + internal UmbracoDatabaseFactory( + ILogger logger, + ILoggerFactory loggerFactory, + IOptions globalSettings, + IMapperCollection mappers, + IDbProviderFactoryCreator dbProviderFactoryCreator, + DatabaseSchemaCreatorFactory databaseSchemaCreatorFactory, + NPocoMapperCollection npocoMappers, + string connectionString) + { + _globalSettings = globalSettings; + _mappers = mappers ?? throw new ArgumentNullException(nameof(mappers)); + _dbProviderFactoryCreator = dbProviderFactoryCreator ?? throw new ArgumentNullException(nameof(dbProviderFactoryCreator)); + _databaseSchemaCreatorFactory = databaseSchemaCreatorFactory ?? throw new ArgumentNullException(nameof(databaseSchemaCreatorFactory)); + _npocoMappers = npocoMappers; + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _loggerFactory = loggerFactory; + + if (connectionString is null) + { + logger.LogDebug("Missing connection string, defer configuration."); + return; // not configured + } + + var configConnectionString = new ConfigConnectionString("Custom", connectionString); + // could as well be + // so need to test the values too + if (configConnectionString.IsConnectionStringConfigured() == false) + { + logger.LogDebug("Empty connection string or provider name, defer configuration."); + return; // not configured + } + + Configure(configConnectionString.ConnectionString, configConnectionString.ProviderName); + } + /// /// Initializes a new instance of the . /// @@ -84,33 +126,10 @@ namespace Umbraco.Cms.Infrastructure.Persistence IMapperCollection mappers, IDbProviderFactoryCreator dbProviderFactoryCreator, DatabaseSchemaCreatorFactory databaseSchemaCreatorFactory, - NPocoMapperCollection npocoMappers) + NPocoMapperCollection npocoMappers): + this(logger, loggerFactory, globalSettings, mappers, dbProviderFactoryCreator, databaseSchemaCreatorFactory, npocoMappers, connectionStrings?.CurrentValue?.UmbracoConnectionString?.ConnectionString) { - _globalSettings = globalSettings; - _mappers = mappers ?? throw new ArgumentNullException(nameof(mappers)); - _dbProviderFactoryCreator = dbProviderFactoryCreator ?? throw new ArgumentNullException(nameof(dbProviderFactoryCreator)); - _databaseSchemaCreatorFactory = databaseSchemaCreatorFactory ?? throw new ArgumentNullException(nameof(databaseSchemaCreatorFactory)); - _npocoMappers = npocoMappers; - _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _loggerFactory = loggerFactory; - - var settings = connectionStrings.CurrentValue.UmbracoConnectionString; - if (settings == null) - { - logger.LogDebug("Missing connection string, defer configuration."); - return; // not configured - } - - // could as well be - // so need to test the values too - if (settings.IsConnectionStringConfigured() == false) - { - logger.LogDebug("Empty connection string or provider name, defer configuration."); - return; // not configured - } - - Configure(settings.ConnectionString, settings.ProviderName); } #endregion diff --git a/src/Umbraco.Infrastructure/Runtime/SqlMainDomLock.cs b/src/Umbraco.Infrastructure/Runtime/SqlMainDomLock.cs index 8dee49a07c..8d1c74b619 100644 --- a/src/Umbraco.Infrastructure/Runtime/SqlMainDomLock.cs +++ b/src/Umbraco.Infrastructure/Runtime/SqlMainDomLock.cs @@ -62,11 +62,11 @@ namespace Umbraco.Cms.Infrastructure.Runtime loggerFactory.CreateLogger(), loggerFactory, _globalSettings, - connectionStrings, new MapperCollection(() => Enumerable.Empty()), dbProviderFactoryCreator, databaseSchemaCreatorFactory, - npocoMappers); + npocoMappers, + connectionStringName); MainDomKey = MainDomKeyPrefix + "-" + (Environment.MachineName + MainDom.GetMainDomId(_hostingEnvironment)).GenerateHash(); } @@ -88,18 +88,10 @@ namespace Umbraco.Cms.Infrastructure.Runtime hostingEnvironment, databaseSchemaCreatorFactory, npocoMappers, - Constants.System.UmbracoConnectionName + connectionStrings.CurrentValue.UmbracoConnectionString.ConnectionString ) { - loggerFactory.CreateLogger(), - loggerFactory, - _globalSettings, - connectionStrings, - new MapperCollection(() => Enumerable.Empty()), - dbProviderFactoryCreator, - databaseSchemaCreatorFactory, - npocoMappers); } public async Task AcquireLockAsync(int millisecondsTimeout)