diff options
| author | David <davidullmer@outlook.de> | 2020-08-03 20:22:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-03 20:22:21 +0200 |
| commit | a28d00eebaec733d0c3b4e85da95c1e466189883 (patch) | |
| tree | 3a1149b8f71b6ca940e0ca9acf52c0fb8b23e7e7 /Jellyfin.Server.Implementations/JellyfinDbProvider.cs | |
| parent | 6a42a48c09b8125e96daa057f755bc67ce7bac37 (diff) | |
| parent | dbeeb7cf4a715580432232c7098e4d86afccb37c (diff) | |
Merge pull request #3808 from crobibero/api-migration-merge
Merge master into api-migration
Diffstat (limited to 'Jellyfin.Server.Implementations/JellyfinDbProvider.cs')
| -rw-r--r-- | Jellyfin.Server.Implementations/JellyfinDbProvider.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Jellyfin.Server.Implementations/JellyfinDbProvider.cs b/Jellyfin.Server.Implementations/JellyfinDbProvider.cs index 8f5c19900..486be6053 100644 --- a/Jellyfin.Server.Implementations/JellyfinDbProvider.cs +++ b/Jellyfin.Server.Implementations/JellyfinDbProvider.cs @@ -1,4 +1,6 @@ using System; +using System.IO; +using MediaBrowser.Common.Configuration; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; @@ -10,15 +12,20 @@ namespace Jellyfin.Server.Implementations public class JellyfinDbProvider { private readonly IServiceProvider _serviceProvider; + private readonly IApplicationPaths _appPaths; /// <summary> /// Initializes a new instance of the <see cref="JellyfinDbProvider"/> class. /// </summary> /// <param name="serviceProvider">The application's service provider.</param> - public JellyfinDbProvider(IServiceProvider serviceProvider) + /// <param name="appPaths">The application paths.</param> + public JellyfinDbProvider(IServiceProvider serviceProvider, IApplicationPaths appPaths) { _serviceProvider = serviceProvider; - serviceProvider.GetRequiredService<JellyfinDb>().Database.Migrate(); + _appPaths = appPaths; + + using var jellyfinDb = CreateContext(); + jellyfinDb.Database.Migrate(); } /// <summary> @@ -27,7 +34,8 @@ namespace Jellyfin.Server.Implementations /// <returns>The newly created context.</returns> public JellyfinDb CreateContext() { - return _serviceProvider.GetRequiredService<JellyfinDb>(); + var contextOptions = new DbContextOptionsBuilder<JellyfinDb>().UseSqlite($"Filename={Path.Combine(_appPaths.DataPath, "jellyfin.db")}"); + return ActivatorUtilities.CreateInstance<JellyfinDb>(_serviceProvider, contextOptions.Options); } } } |
