diff --git a/src/Umbraco.Cms.Persistence.EFCore/EfCoreMigrationExecutor.cs b/src/Umbraco.Cms.Persistence.EFCore/EfCoreMigrationExecutor.cs index 8de8e1f1b8..d50b8b1bf5 100644 --- a/src/Umbraco.Cms.Persistence.EFCore/EfCoreMigrationExecutor.cs +++ b/src/Umbraco.Cms.Persistence.EFCore/EfCoreMigrationExecutor.cs @@ -21,7 +21,7 @@ public class EfCoreMigrationExecutor : IEFCoreMigrationExecutor public async Task ExecuteSingleMigrationAsync(EFCoreMigration migration) { - IMigrationProvider? provider = _migrationProviders.FirstOrDefault(x => x.ProviderName == _options.Value.ProviderName); + IMigrationProvider? provider = _migrationProviders.FirstOrDefault(x => x.ProviderName.CompareProviderNames(_options.Value.ProviderName)); if (provider is not null) { @@ -31,8 +31,7 @@ public class EfCoreMigrationExecutor : IEFCoreMigrationExecutor public async Task ExecuteAllMigrationsAsync() { - IMigrationProvider? provider = _migrationProviders.FirstOrDefault(x => x.ProviderName == _options.Value.ProviderName); - + IMigrationProvider? provider = _migrationProviders.FirstOrDefault(x => x.ProviderName.CompareProviderNames(_options.Value.ProviderName)); if (provider is not null) { await provider.MigrateAllAsync(); diff --git a/src/Umbraco.Cms.Persistence.EFCore/Extensions/UmbracoEFCoreServiceCollectionExtensions.cs b/src/Umbraco.Cms.Persistence.EFCore/Extensions/UmbracoEFCoreServiceCollectionExtensions.cs index d901088064..3d7e01a0ad 100644 --- a/src/Umbraco.Cms.Persistence.EFCore/Extensions/UmbracoEFCoreServiceCollectionExtensions.cs +++ b/src/Umbraco.Cms.Persistence.EFCore/Extensions/UmbracoEFCoreServiceCollectionExtensions.cs @@ -136,6 +136,7 @@ public static class UmbracoEFCoreServiceCollectionExtensions builder.UseSqlServer(connectionString); break; case Constants.ProviderNames.SQLLite: + case "Microsoft.Data.SQLite": builder.UseSqlite(connectionString); break; default: diff --git a/src/Umbraco.Cms.Persistence.EFCore/StringExtensions.cs b/src/Umbraco.Cms.Persistence.EFCore/StringExtensions.cs new file mode 100644 index 0000000000..8b680a08b1 --- /dev/null +++ b/src/Umbraco.Cms.Persistence.EFCore/StringExtensions.cs @@ -0,0 +1,21 @@ +using Umbraco.Cms.Core; + +namespace Umbraco.Cms.Persistence.EFCore; + +internal static class StringExtensions +{ + internal static bool CompareProviderNames(this string connectionProvider, string? compareString) + { + if (compareString is null) + { + return false; + } + + if (connectionProvider == compareString) + { + return true; + } + + return connectionProvider is "Microsoft.Data.SQLite" or Constants.ProviderNames.SQLLite && compareString is "Microsoft.Data.SQLite" or Constants.ProviderNames.SQLLite; + } +} diff --git a/src/Umbraco.Cms.Persistence.EFCore/UmbracoDbContext.cs b/src/Umbraco.Cms.Persistence.EFCore/UmbracoDbContext.cs index 60e519de4c..a27630bd34 100644 --- a/src/Umbraco.Cms.Persistence.EFCore/UmbracoDbContext.cs +++ b/src/Umbraco.Cms.Persistence.EFCore/UmbracoDbContext.cs @@ -58,7 +58,7 @@ public class UmbracoDbContext : DbContext } IEnumerable migrationProviders = StaticServiceProvider.Instance.GetServices(); - IMigrationProviderSetup? migrationProvider = migrationProviders.FirstOrDefault(x => x.ProviderName == connectionStrings.ProviderName); + IMigrationProviderSetup? migrationProvider = migrationProviders.FirstOrDefault(x => x.ProviderName.CompareProviderNames(connectionStrings.ProviderName)); if (migrationProvider == null && connectionStrings.ProviderName != null) {