|
@@ -12,10 +12,12 @@ using System.Threading.Tasks;
|
|
using CommandLine;
|
|
using CommandLine;
|
|
using Emby.Server.Implementations;
|
|
using Emby.Server.Implementations;
|
|
using Emby.Server.Implementations.IO;
|
|
using Emby.Server.Implementations.IO;
|
|
|
|
+using Jellyfin.Server.Implementations;
|
|
using MediaBrowser.Common.Configuration;
|
|
using MediaBrowser.Common.Configuration;
|
|
using MediaBrowser.Common.Net;
|
|
using MediaBrowser.Common.Net;
|
|
using MediaBrowser.Controller.Extensions;
|
|
using MediaBrowser.Controller.Extensions;
|
|
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.DependencyInjection.Extensions;
|
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
|
@@ -221,6 +223,14 @@ namespace Jellyfin.Server
|
|
finally
|
|
finally
|
|
{
|
|
{
|
|
appHost.Dispose();
|
|
appHost.Dispose();
|
|
|
|
+ _logger.LogInformation("Running query planner optimizations in the database... This might take a while");
|
|
|
|
+
|
|
|
|
+ // Run after disposing the application
|
|
|
|
+ using var context = new JellyfinDbProvider(appHost.ServiceProvider, appPaths).CreateContext();
|
|
|
|
+ if (context.Database.IsSqlite())
|
|
|
|
+ {
|
|
|
|
+ context.Database.ExecuteSqlRaw("PRAGMA optimize");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (_restartOnShutdown)
|
|
if (_restartOnShutdown)
|