v10: Use ForceCreateDatabase during unattended install and extend GetUmbracoConnectionString extension methods (#12397)
* Add extension methods to get the Umbraco connection string/provider name from configuration * Added tests for configuration extension methods. * Fix issue with InstallMissingDatabase and ForceCreateDatabase * Fix comments * Revert casing change in GenerateConnectionString * Re-add AddOptions (without config binding) to fix test * Update src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs Co-authored-by: Ronald Barendse <ronald@barend.se> * Update src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs * Update src/Umbraco.Infrastructure/Runtime/RuntimeState.cs * Whitespace and documentation updates * Add DatabaseProviderMetadataExtensions * Filter before ordering * Replace DataDirectory placeholder when setting connection string Co-authored-by: Andy Butland <abutland73@gmail.com> Co-authored-by: Bjarke Berg <mail@bergmania.dk>
This commit is contained in:
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Umbraco.Cms.Core;
|
||||
@@ -139,20 +136,15 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install
|
||||
// if the database model is null then we will attempt quick install.
|
||||
if (databaseSettings == null)
|
||||
{
|
||||
providerMeta = _databaseProviderMetadata
|
||||
.OrderBy(x => x.SortOrder)
|
||||
.Where(x => x.SupportsQuickInstall)
|
||||
.FirstOrDefault(x => x.IsAvailable);
|
||||
|
||||
providerMeta = _databaseProviderMetadata.GetAvailable(true).FirstOrDefault();
|
||||
databaseSettings = new DatabaseModel
|
||||
{
|
||||
DatabaseName = providerMeta?.DefaultDatabaseName!,
|
||||
DatabaseName = providerMeta?.DefaultDatabaseName!
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
providerMeta = _databaseProviderMetadata
|
||||
.FirstOrDefault(x => x.Id == databaseSettings.DatabaseProviderMetadataId);
|
||||
providerMeta = _databaseProviderMetadata.FirstOrDefault(x => x.Id == databaseSettings.DatabaseProviderMetadataId);
|
||||
}
|
||||
|
||||
if (providerMeta == null)
|
||||
@@ -177,7 +169,6 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private void Configure(string connectionString, string? providerName, bool installMissingDatabase)
|
||||
{
|
||||
// Update existing connection string
|
||||
|
||||
Reference in New Issue
Block a user