mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-29 05:16:34 +02:00
Fixed: Cleanup duplicate Series Metadata files in database on startup
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
using NLog;
|
||||
using NzbDrone.Core.Datastore;
|
||||
|
||||
namespace NzbDrone.Core.Housekeeping.Housekeepers
|
||||
{
|
||||
public class CleanupDuplicateMetadataFiles : IHousekeepingTask
|
||||
{
|
||||
private readonly IDatabase _database;
|
||||
private readonly Logger _logger;
|
||||
|
||||
public CleanupDuplicateMetadataFiles(IDatabase database, Logger logger)
|
||||
{
|
||||
_database = database;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void Clean()
|
||||
{
|
||||
_logger.Debug("Running cleanup of duplicate metadata files");
|
||||
|
||||
DeleteDuplicateSeriesMetadata();
|
||||
}
|
||||
|
||||
private void DeleteDuplicateSeriesMetadata()
|
||||
{
|
||||
var mapper = _database.GetDataMapper();
|
||||
|
||||
mapper.ExecuteNonQuery(@"DELETE FROM MetadataFiles
|
||||
WHERE Id IN (
|
||||
SELECT Id FROM MetadataFiles
|
||||
WHERE Type = 1
|
||||
GROUP BY SeriesId, Consumer
|
||||
HAVING COUNT(SeriesId) > 1
|
||||
)");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user