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)
{
// 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")}");
}

View File

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

View File

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

View File

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