feat: implement migration to split MediaStreamInfos into AudioStreamDetails and VideoStreamDetails
This commit is contained in:
@@ -62,24 +62,28 @@ namespace Emby.Server.Implementations.Library
|
||||
var keys = item.GetUserDataKeys();
|
||||
|
||||
using var dbContext = _repository.CreateDbContext();
|
||||
using var transaction = dbContext.Database.BeginTransaction();
|
||||
|
||||
foreach (var key in keys)
|
||||
var executionStrategy = dbContext.Database.CreateExecutionStrategy();
|
||||
executionStrategy.Execute(() =>
|
||||
{
|
||||
userData.Key = key;
|
||||
var userDataEntry = Map(userData, user.Id, item.Id);
|
||||
if (dbContext.UserData.Any(f => f.ItemId == userDataEntry.ItemId && f.UserId == userDataEntry.UserId && f.CustomDataKey == userDataEntry.CustomDataKey))
|
||||
{
|
||||
dbContext.UserData.Attach(userDataEntry).State = EntityState.Modified;
|
||||
}
|
||||
else
|
||||
{
|
||||
dbContext.UserData.Add(userDataEntry);
|
||||
}
|
||||
}
|
||||
using var transaction = dbContext.Database.BeginTransaction();
|
||||
|
||||
dbContext.SaveChanges();
|
||||
transaction.Commit();
|
||||
foreach (var key in keys)
|
||||
{
|
||||
userData.Key = key;
|
||||
var userDataEntry = Map(userData, user.Id, item.Id);
|
||||
if (dbContext.UserData.Any(f => f.ItemId == userDataEntry.ItemId && f.UserId == userDataEntry.UserId && f.CustomDataKey == userDataEntry.CustomDataKey))
|
||||
{
|
||||
dbContext.UserData.Attach(userDataEntry).State = EntityState.Modified;
|
||||
}
|
||||
else
|
||||
{
|
||||
dbContext.UserData.Add(userDataEntry);
|
||||
}
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
transaction.Commit();
|
||||
});
|
||||
|
||||
var userId = user.InternalId;
|
||||
var cacheKey = GetCacheKey(userId, item.Id);
|
||||
|
||||
Reference in New Issue
Block a user