mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-24 02:02:29 -04:00
parent
ce0a6b2df8
commit
4096c973c6
@ -23,6 +23,7 @@ using MediaBrowser.Common.Configuration;
|
|||||||
using MediaBrowser.Common.Net;
|
using MediaBrowser.Common.Net;
|
||||||
using MediaBrowser.Controller;
|
using MediaBrowser.Controller;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
@ -175,6 +176,9 @@ namespace Jellyfin.Server
|
|||||||
|
|
||||||
// Re-use the host service provider in the app host since ASP.NET doesn't allow a custom service collection.
|
// Re-use the host service provider in the app host since ASP.NET doesn't allow a custom service collection.
|
||||||
appHost.ServiceProvider = _jellyfinHost.Services;
|
appHost.ServiceProvider = _jellyfinHost.Services;
|
||||||
|
|
||||||
|
PrepareDatabaseProvider(appHost.ServiceProvider);
|
||||||
|
|
||||||
await ApplyCoreMigrationsAsync(appHost.ServiceProvider, Migrations.Stages.JellyfinMigrationStageTypes.CoreInitialisaition).ConfigureAwait(false);
|
await ApplyCoreMigrationsAsync(appHost.ServiceProvider, Migrations.Stages.JellyfinMigrationStageTypes.CoreInitialisaition).ConfigureAwait(false);
|
||||||
|
|
||||||
await appHost.InitializeServices(startupConfig).ConfigureAwait(false);
|
await appHost.InitializeServices(startupConfig).ConfigureAwait(false);
|
||||||
@ -248,6 +252,9 @@ namespace Jellyfin.Server
|
|||||||
.AddSingleton<IApplicationPaths>(appPaths)
|
.AddSingleton<IApplicationPaths>(appPaths)
|
||||||
.AddSingleton<ServerApplicationPaths>(appPaths);
|
.AddSingleton<ServerApplicationPaths>(appPaths);
|
||||||
var startupService = migrationStartupServiceProvider.BuildServiceProvider();
|
var startupService = migrationStartupServiceProvider.BuildServiceProvider();
|
||||||
|
|
||||||
|
PrepareDatabaseProvider(startupService);
|
||||||
|
|
||||||
var jellyfinMigrationService = ActivatorUtilities.CreateInstance<JellyfinMigrationService>(startupService);
|
var jellyfinMigrationService = ActivatorUtilities.CreateInstance<JellyfinMigrationService>(startupService);
|
||||||
await jellyfinMigrationService.CheckFirstTimeRunOrMigration(appPaths).ConfigureAwait(false);
|
await jellyfinMigrationService.CheckFirstTimeRunOrMigration(appPaths).ConfigureAwait(false);
|
||||||
await jellyfinMigrationService.MigrateStepAsync(Migrations.Stages.JellyfinMigrationStageTypes.PreInitialisation, startupService).ConfigureAwait(false);
|
await jellyfinMigrationService.MigrateStepAsync(Migrations.Stages.JellyfinMigrationStageTypes.PreInitialisation, startupService).ConfigureAwait(false);
|
||||||
@ -302,5 +309,12 @@ namespace Jellyfin.Server
|
|||||||
.AddEnvironmentVariables("JELLYFIN_")
|
.AddEnvironmentVariables("JELLYFIN_")
|
||||||
.AddInMemoryCollection(commandLineOpts.ConvertToConfig());
|
.AddInMemoryCollection(commandLineOpts.ConvertToConfig());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void PrepareDatabaseProvider(IServiceProvider services)
|
||||||
|
{
|
||||||
|
var factory = services.GetRequiredService<IDbContextFactory<JellyfinDbContext>>();
|
||||||
|
var provider = services.GetRequiredService<IJellyfinDatabaseProvider>();
|
||||||
|
provider.DbContextFactory = factory;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user