Ensure DB exists

This commit is contained in:
Bond_009 2019-01-14 18:28:29 +01:00
parent f6f0a8a481
commit 8d9428ebdc
4 changed files with 16 additions and 11 deletions

View File

@ -20,7 +20,10 @@ namespace Emby.Server.Implementations.Activity
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{ {
// Ensure the dir exists // Ensure the dir exists
if (!Directory.Exists(_dataDirPath)) Directory.CreateDirectory(_dataDirPath); if (!Directory.Exists(_dataDirPath))
{
Directory.CreateDirectory(_dataDirPath);
}
optionsBuilder.UseSqlite($"Filename={Path.Combine(_dataDirPath, "activitylog.sqlite.db")}"); optionsBuilder.UseSqlite($"Filename={Path.Combine(_dataDirPath, "activitylog.sqlite.db")}");
} }

View File

@ -709,7 +709,7 @@ namespace Emby.Server.Implementations
} }
} }
public void Init() public async Task Init()
{ {
HttpPort = ServerConfigurationManager.Configuration.HttpServerPortNumber; HttpPort = ServerConfigurationManager.Configuration.HttpServerPortNumber;
HttpsPort = ServerConfigurationManager.Configuration.HttpsPortNumber; HttpsPort = ServerConfigurationManager.Configuration.HttpsPortNumber;
@ -739,7 +739,7 @@ namespace Emby.Server.Implementations
SetHttpLimit(); SetHttpLimit();
RegisterResources(); await RegisterResources();
FindParts(); FindParts();
} }
@ -754,7 +754,7 @@ namespace Emby.Server.Implementations
/// <summary> /// <summary>
/// Registers resources that classes will depend on /// Registers resources that classes will depend on
/// </summary> /// </summary>
protected void RegisterResources() protected async Task RegisterResources()
{ {
RegisterSingleInstance(ConfigurationManager); RegisterSingleInstance(ConfigurationManager);
RegisterSingleInstance<IApplicationHost>(this); RegisterSingleInstance<IApplicationHost>(this);
@ -931,7 +931,7 @@ namespace Emby.Server.Implementations
EncodingManager = new MediaEncoder.EncodingManager(FileSystemManager, LoggerFactory, MediaEncoder, ChapterManager, LibraryManager); EncodingManager = new MediaEncoder.EncodingManager(FileSystemManager, LoggerFactory, MediaEncoder, ChapterManager, LibraryManager);
RegisterSingleInstance(EncodingManager); RegisterSingleInstance(EncodingManager);
var activityLogRepo = GetActivityLogRepository(); var activityLogRepo = await GetActivityLogRepository();
RegisterSingleInstance(activityLogRepo); RegisterSingleInstance(activityLogRepo);
RegisterSingleInstance<IActivityManager>(new ActivityManager(LoggerFactory, activityLogRepo, UserManager)); RegisterSingleInstance<IActivityManager>(new ActivityManager(LoggerFactory, activityLogRepo, UserManager));
@ -1146,9 +1146,13 @@ namespace Emby.Server.Implementations
return repo; return repo;
} }
private IActivityRepository GetActivityLogRepository() private async Task<IActivityRepository> GetActivityLogRepository()
{ {
return new ActivityRepository(ServerConfigurationManager.ApplicationPaths.DataPath); var repo = new ActivityRepository(ServerConfigurationManager.ApplicationPaths.DataPath);
await repo.Database.EnsureCreatedAsync();
return repo;
} }
/// <summary> /// <summary>

View File

@ -99,7 +99,7 @@ namespace Jellyfin.Server
new SystemEvents(), new SystemEvents(),
new NetworkManager(_loggerFactory, environmentInfo))) new NetworkManager(_loggerFactory, environmentInfo)))
{ {
appHost.Init(); await appHost.Init();
appHost.ImageProcessor.ImageEncoder = GetImageEncoder(fileSystem, appPaths, appHost.LocalizationManager); appHost.ImageProcessor.ImageEncoder = GetImageEncoder(fileSystem, appPaths, appHost.LocalizationManager);
@ -108,7 +108,6 @@ namespace Jellyfin.Server
await appHost.RunStartupTasks(); await appHost.RunStartupTasks();
// TODO: read input for a stop command // TODO: read input for a stop command
try try
{ {
// Block main thread until shutdown // Block main thread until shutdown
@ -167,7 +166,6 @@ namespace Jellyfin.Server
{ {
Directory.CreateDirectory(programDataPath); Directory.CreateDirectory(programDataPath);
} }
string configDir = Environment.GetEnvironmentVariable("JELLYFIN_CONFIG_DIR"); string configDir = Environment.GetEnvironmentVariable("JELLYFIN_CONFIG_DIR");
if (string.IsNullOrEmpty(configDir)) if (string.IsNullOrEmpty(configDir))
{ {

View File

@ -131,7 +131,7 @@ namespace MediaBrowser.Common
/// <summary> /// <summary>
/// Inits this instance. /// Inits this instance.
/// </summary> /// </summary>
void Init(); Task Init();
/// <summary> /// <summary>
/// Creates the instance. /// Creates the instance.