Fixed: Cleanup orphaned movies

pull/9463/head
Bogdan 7 months ago
parent 263534717d
commit d7aaa1cdc2

@ -0,0 +1,25 @@
using Dapper;
using NzbDrone.Core.Datastore;
namespace NzbDrone.Core.Housekeeping.Housekeepers
{
public class CleanupOrphanedMovies : IHousekeepingTask
{
private readonly IMainDatabase _database;
public CleanupOrphanedMovies(IMainDatabase database)
{
_database = database;
}
public void Clean()
{
using var mapper = _database.OpenConnection();
mapper.Execute(@"DELETE FROM ""Movies""
WHERE ""Id"" IN (
SELECT ""Movies"".""Id"" FROM ""Movies""
LEFT OUTER JOIN ""MovieMetadata"" ON ""Movies"".""MovieMetadataId"" = ""MovieMetadata"".""Id""
WHERE ""MovieMetadata"".""Id"" IS NULL)");
}
}
}

@ -19,7 +19,12 @@ namespace NzbDrone.Core.Movies
public bool ShouldRefresh(MovieMetadata movie)
{
// return false;
if (movie == null)
{
_logger.Warn("Movie metadata does not exist, should not be refreshed.");
return false;
}
if (movie.LastInfoSync < DateTime.UtcNow.AddDays(-180))
{
_logger.Trace("Movie {0} last updated more than 180 days ago, should refresh.", movie.Title);

@ -214,7 +214,15 @@ namespace Radarr.Api.V3.Movies
};
}
translations.TryGetValue(movie.Id, out var translation);
if (!translations.TryGetValue(movie.Id, out var translation))
{
translation = new MovieTranslation
{
Title = movie.Title,
Language = Language.English
};
}
return translation;
}

Loading…
Cancel
Save