|
@@ -36,7 +36,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
|
|
public async Task Initialize()
|
|
public async Task Initialize()
|
|
{
|
|
{
|
|
- var dbFile = Path.Combine(_appPaths.DataPath, "sync6.db");
|
|
|
|
|
|
+ var dbFile = Path.Combine(_appPaths.DataPath, "sync7.db");
|
|
|
|
|
|
_connection = await SqliteExtensions.ConnectToDb(dbFile, _logger).ConfigureAwait(false);
|
|
_connection = await SqliteExtensions.ConnectToDb(dbFile, _logger).ConfigureAwait(false);
|
|
|
|
|
|
@@ -45,7 +45,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
"create table if not exists SyncJobs (Id GUID PRIMARY KEY, TargetId TEXT NOT NULL, Name TEXT NOT NULL, Quality TEXT NOT NULL, Status TEXT NOT NULL, Progress FLOAT, UserId TEXT NOT NULL, ItemIds TEXT NOT NULL, Category TEXT, ParentId TEXT, UnwatchedOnly BIT, ItemLimit INT, SyncNewContent BIT, DateCreated DateTime, DateLastModified DateTime, ItemCount int)",
|
|
"create table if not exists SyncJobs (Id GUID PRIMARY KEY, TargetId TEXT NOT NULL, Name TEXT NOT NULL, Quality TEXT NOT NULL, Status TEXT NOT NULL, Progress FLOAT, UserId TEXT NOT NULL, ItemIds TEXT NOT NULL, Category TEXT, ParentId TEXT, UnwatchedOnly BIT, ItemLimit INT, SyncNewContent BIT, DateCreated DateTime, DateLastModified DateTime, ItemCount int)",
|
|
"create index if not exists idx_SyncJobs on SyncJobs(Id)",
|
|
"create index if not exists idx_SyncJobs on SyncJobs(Id)",
|
|
|
|
|
|
- "create table if not exists SyncJobItems (Id GUID PRIMARY KEY, ItemId TEXT, JobId TEXT, OutputPath TEXT, Status TEXT, TargetId TEXT, DateCreated DateTime, Progress FLOAT)",
|
|
|
|
|
|
+ "create table if not exists SyncJobItems (Id GUID PRIMARY KEY, ItemId TEXT, MediaSourceId TEXT, JobId TEXT, OutputPath TEXT, Status TEXT, TargetId TEXT, DateCreated DateTime, Progress FLOAT)",
|
|
"create index if not exists idx_SyncJobItems on SyncJobs(Id)",
|
|
"create index if not exists idx_SyncJobItems on SyncJobs(Id)",
|
|
|
|
|
|
//pragmas
|
|
//pragmas
|
|
@@ -90,10 +90,11 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
_saveJobCommand.Parameters.Add(_saveJobCommand, "@ItemCount");
|
|
_saveJobCommand.Parameters.Add(_saveJobCommand, "@ItemCount");
|
|
|
|
|
|
_saveJobItemCommand = _connection.CreateCommand();
|
|
_saveJobItemCommand = _connection.CreateCommand();
|
|
- _saveJobItemCommand.CommandText = "replace into SyncJobItems (Id, ItemId, JobId, OutputPath, Status, TargetId, DateCreated, Progress) values (@Id, @ItemId, @JobId, @OutputPath, @Status, @TargetId, @DateCreated, @Progress)";
|
|
|
|
|
|
+ _saveJobItemCommand.CommandText = "replace into SyncJobItems (Id, ItemId, MediaSourceId, JobId, OutputPath, Status, TargetId, DateCreated, Progress) values (@Id, @ItemId, @MediaSourceId, @JobId, @OutputPath, @Status, @TargetId, @DateCreated, @Progress)";
|
|
|
|
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@Id");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@Id");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@ItemId");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@ItemId");
|
|
|
|
+ _saveJobItemCommand.Parameters.Add(_saveJobCommand, "@MediaSourceId");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@JobId");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@JobId");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@OutputPath");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@OutputPath");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@Status");
|
|
_saveJobItemCommand.Parameters.Add(_saveJobCommand, "@Status");
|
|
@@ -103,7 +104,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
}
|
|
}
|
|
|
|
|
|
private const string BaseJobSelectText = "select Id, TargetId, Name, Quality, Status, Progress, UserId, ItemIds, Category, ParentId, UnwatchedOnly, ItemLimit, SyncNewContent, DateCreated, DateLastModified, ItemCount from SyncJobs";
|
|
private const string BaseJobSelectText = "select Id, TargetId, Name, Quality, Status, Progress, UserId, ItemIds, Category, ParentId, UnwatchedOnly, ItemLimit, SyncNewContent, DateCreated, DateLastModified, ItemCount from SyncJobs";
|
|
- private const string BaseJobItemSelectText = "select Id, ItemId, JobId, OutputPath, Status, TargetId, DateCreated, Progress from SyncJobItems";
|
|
|
|
|
|
+ private const string BaseJobItemSelectText = "select Id, ItemId, MediaSourceId, JobId, OutputPath, Status, TargetId, DateCreated, Progress from SyncJobItems";
|
|
|
|
|
|
public SyncJob GetJob(string id)
|
|
public SyncJob GetJob(string id)
|
|
{
|
|
{
|
|
@@ -556,6 +557,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
|
|
_saveJobItemCommand.GetParameter(index++).Value = new Guid(jobItem.Id);
|
|
_saveJobItemCommand.GetParameter(index++).Value = new Guid(jobItem.Id);
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.ItemId;
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.ItemId;
|
|
|
|
+ _saveJobItemCommand.GetParameter(index++).Value = jobItem.MediaSourceId;
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.JobId;
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.JobId;
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.OutputPath;
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.OutputPath;
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.Status;
|
|
_saveJobItemCommand.GetParameter(index++).Value = jobItem.Status;
|
|
@@ -606,26 +608,27 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
{
|
|
{
|
|
Id = reader.GetGuid(0).ToString("N"),
|
|
Id = reader.GetGuid(0).ToString("N"),
|
|
ItemId = reader.GetString(1),
|
|
ItemId = reader.GetString(1),
|
|
- JobId = reader.GetString(2)
|
|
|
|
|
|
+ MediaSourceId = reader.GetString(2),
|
|
|
|
+ JobId = reader.GetString(3)
|
|
};
|
|
};
|
|
|
|
|
|
- if (!reader.IsDBNull(3))
|
|
|
|
|
|
+ if (!reader.IsDBNull(4))
|
|
{
|
|
{
|
|
- info.OutputPath = reader.GetString(3);
|
|
|
|
|
|
+ info.OutputPath = reader.GetString(4);
|
|
}
|
|
}
|
|
|
|
|
|
- if (!reader.IsDBNull(4))
|
|
|
|
|
|
+ if (!reader.IsDBNull(5))
|
|
{
|
|
{
|
|
- info.Status = (SyncJobItemStatus)Enum.Parse(typeof(SyncJobItemStatus), reader.GetString(4), true);
|
|
|
|
|
|
+ info.Status = (SyncJobItemStatus)Enum.Parse(typeof(SyncJobItemStatus), reader.GetString(5), true);
|
|
}
|
|
}
|
|
|
|
|
|
- info.TargetId = reader.GetString(5);
|
|
|
|
|
|
+ info.TargetId = reader.GetString(6);
|
|
|
|
|
|
- info.DateCreated = reader.GetDateTime(6);
|
|
|
|
|
|
+ info.DateCreated = reader.GetDateTime(7);
|
|
|
|
|
|
- if (!reader.IsDBNull(7))
|
|
|
|
|
|
+ if (!reader.IsDBNull(8))
|
|
{
|
|
{
|
|
- info.Progress = reader.GetDouble(7);
|
|
|
|
|
|
+ info.Progress = reader.GetDouble(8);
|
|
}
|
|
}
|
|
|
|
|
|
return info;
|
|
return info;
|