mirror of
https://github.com/Sonarr/Sonarr
synced 2026-05-08 13:01:10 +02:00
Migrate mediainfo per episode file one at the time to avoid OOM
This commit is contained in:
parent
1c09c6005c
commit
9454f2940e
1 changed files with 6 additions and 8 deletions
|
|
@ -46,8 +46,6 @@ private void MigrateMediaInfoToMultipleStreams(IDbConnection conn, IDbTransactio
|
|||
{
|
||||
var existing = conn.Query<EpisodeFile224>("SELECT \"Id\", \"MediaInfo\" FROM \"EpisodeFiles\"");
|
||||
|
||||
var updated = new List<object>();
|
||||
|
||||
foreach (var row in existing)
|
||||
{
|
||||
if (row.MediaInfo.IsNullOrWhiteSpace())
|
||||
|
|
@ -64,7 +62,7 @@ private void MigrateMediaInfoToMultipleStreams(IDbConnection conn, IDbTransactio
|
|||
{
|
||||
_logger.Warn(ex, "Episode {EpisodeId} contains invalid JSON data, skipping.", row.Id);
|
||||
|
||||
updated.Add(new EpisodeFile225 { Id = row.Id, MediaInfo = null });
|
||||
UpdateMediaInfoForEpisodeFile(conn, tran, new EpisodeFile225 { Id = row.Id, MediaInfo = null });
|
||||
|
||||
continue;
|
||||
}
|
||||
|
|
@ -83,17 +81,17 @@ private void MigrateMediaInfoToMultipleStreams(IDbConnection conn, IDbTransactio
|
|||
continue;
|
||||
}
|
||||
|
||||
updated.Add(new EpisodeFile225
|
||||
UpdateMediaInfoForEpisodeFile(conn, tran, new EpisodeFile225
|
||||
{
|
||||
Id = row.Id,
|
||||
MediaInfo = JsonSerializer.Serialize(newMediaInfo, _serializerSettings)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
conn.Execute(
|
||||
"UPDATE \"EpisodeFiles\" SET \"MediaInfo\" = @MediaInfo WHERE \"Id\" = @Id",
|
||||
updated,
|
||||
transaction: tran);
|
||||
private static void UpdateMediaInfoForEpisodeFile(IDbConnection conn, IDbTransaction tran, EpisodeFile225 updated)
|
||||
{
|
||||
conn.Execute("UPDATE \"EpisodeFiles\" SET \"MediaInfo\" = @MediaInfo WHERE \"Id\" = @Id", updated, transaction: tran);
|
||||
}
|
||||
|
||||
private static MediaInfo225 MigrateMediaInfo(MediaInfo224 old)
|
||||
|
|
|
|||
Loading…
Reference in a new issue