diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs index c98d38793..b533d5960 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs @@ -2,24 +2,24 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers { - public class FixWronglyMatchedMovieFiles : IHousekeepingTask - { - private readonly IMainDatabase _database; + public class CleanupAdditionalUsers : IHousekeepingTask + { + private readonly IMainDatabase _database; - public FixWronglyMatchedMovieFiles(IMainDatabase database) - { - _database = database; - } + public CleanupAdditionalUsers(IMainDatabase database) + { + _database = database; + } - public void Clean() - { - var mapper = _database.GetDataMapper(); + public void Clean() + { + var mapper = _database.GetDataMapper(); - mapper.ExecuteNonQuery(@"UPDATE Movies - SET MovieFileId = - (Select Id FROM MovieFiles WHERE Movies.Id == MovieFiles.MovieId) - WHERE MovieFileId != - (SELECT Id FROM MovieFiles WHERE Movies.Id == MovieFiles.MovieId)"); - } - } + mapper.ExecuteNonQuery(@"DELETE FROM Users + WHERE ID NOT IN ( + SELECT ID FROM Users + LIMIT 1)"); + } + } } + diff --git a/src/NzbDrone.Core/MediaFiles/MediaFileService.cs b/src/NzbDrone.Core/MediaFiles/MediaFileService.cs index 52c327757..61815336c 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaFileService.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaFileService.cs @@ -146,8 +146,12 @@ namespace NzbDrone.Core.MediaFiles public MovieFile Add(MovieFile episodeFile) { var addedFile = _movieFileRepository.Insert(episodeFile); - episodeFile.Movie.LazyLoad(); - _movieService.SetFileId(episodeFile.Movie.Value, episodeFile); //Should not be necessary, but sometimes below fails? + addedFile.Movie.LazyLoad(); + if (addedFile.Movie == null || addedFile.Movie.Value == null) + { + _logger.Error("Movie is null for the file {0}. Please run the houskeeping command to ensure movies and files are linked correctly."); + } + _movieService.SetFileId(addedFile.Movie.Value, addedFile); //Should not be necessary, but sometimes below fails? _eventAggregator.PublishEvent(new MovieFileAddedEvent(addedFile)); return addedFile;