mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-31 14:33:54 -04:00
Fix refreshing the library cannot delete old attachments (#14461)
This commit is contained in:
parent
310a54f090
commit
25a362345d
@ -25,8 +25,16 @@ public class MediaAttachmentRepository(IDbContextFactory<JellyfinDbContext> dbPr
|
|||||||
{
|
{
|
||||||
using var context = dbProvider.CreateDbContext();
|
using var context = dbProvider.CreateDbContext();
|
||||||
using var transaction = context.Database.BeginTransaction();
|
using var transaction = context.Database.BeginTransaction();
|
||||||
|
|
||||||
|
// Users may replace a media with a version that includes attachments to one without them.
|
||||||
|
// So when saving attachments is triggered by a library scan, we always unconditionally
|
||||||
|
// clear the old ones, and then add the new ones if given.
|
||||||
context.AttachmentStreamInfos.Where(e => e.ItemId.Equals(id)).ExecuteDelete();
|
context.AttachmentStreamInfos.Where(e => e.ItemId.Equals(id)).ExecuteDelete();
|
||||||
context.AttachmentStreamInfos.AddRange(attachments.Select(e => Map(e, id)));
|
if (attachments.Any())
|
||||||
|
{
|
||||||
|
context.AttachmentStreamInfos.AddRange(attachments.Select(e => Map(e, id)));
|
||||||
|
}
|
||||||
|
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
}
|
}
|
||||||
|
@ -276,10 +276,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
|||||||
|
|
||||||
_mediaStreamRepository.SaveMediaStreams(video.Id, mediaStreams, cancellationToken);
|
_mediaStreamRepository.SaveMediaStreams(video.Id, mediaStreams, cancellationToken);
|
||||||
|
|
||||||
if (mediaAttachments.Any())
|
_mediaAttachmentRepository.SaveMediaAttachments(video.Id, mediaAttachments, cancellationToken);
|
||||||
{
|
|
||||||
_mediaAttachmentRepository.SaveMediaAttachments(video.Id, mediaAttachments, cancellationToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh
|
if (options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh
|
||||||
|| options.MetadataRefreshMode == MetadataRefreshMode.Default)
|
|| options.MetadataRefreshMode == MetadataRefreshMode.Default)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user