mirror of
https://github.com/Radarr/Radarr
synced 2026-05-08 23:35:21 +02:00
Fixed: Housekeeper doesn't remove collections that have MovieMeta from lists
This commit is contained in:
parent
69fcd8ec94
commit
aa0104b6bc
2 changed files with 26 additions and 7 deletions
|
|
@ -26,7 +26,7 @@ public void should_delete_orphaned_collection_item()
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void should_not_delete_unorphaned_collection_items()
|
public void should_delete_orphaned_collection_with_meta_but_no_movie_items()
|
||||||
{
|
{
|
||||||
var collection = Builder<MovieCollection>.CreateNew()
|
var collection = Builder<MovieCollection>.CreateNew()
|
||||||
.With(h => h.Id = 3)
|
.With(h => h.Id = 3)
|
||||||
|
|
@ -40,6 +40,27 @@ public void should_not_delete_unorphaned_collection_items()
|
||||||
|
|
||||||
Db.Insert(movie);
|
Db.Insert(movie);
|
||||||
|
|
||||||
|
Subject.Clean();
|
||||||
|
AllStoredModels.Should().HaveCount(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_not_delete_unorphaned_collection()
|
||||||
|
{
|
||||||
|
var collection = Builder<MovieCollection>.CreateNew()
|
||||||
|
.With(h => h.Id = 3)
|
||||||
|
.With(h => h.TmdbId = 123456)
|
||||||
|
.With(h => h.Title = "Some Credit")
|
||||||
|
.BuildNew();
|
||||||
|
|
||||||
|
Db.Insert(collection);
|
||||||
|
|
||||||
|
var movieMeta = Builder<MovieMetadata>.CreateNew().With(m => m.CollectionTmdbId = collection.TmdbId).BuildNew();
|
||||||
|
Db.Insert(movieMeta);
|
||||||
|
|
||||||
|
var movie = Builder<Movie>.CreateNew().With(m => m.MovieMetadataId = movieMeta.Id).BuildNew();
|
||||||
|
Db.Insert(movie);
|
||||||
|
|
||||||
Subject.Clean();
|
Subject.Clean();
|
||||||
AllStoredModels.Should().HaveCount(1);
|
AllStoredModels.Should().HaveCount(1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,10 @@ public void Clean()
|
||||||
{
|
{
|
||||||
using (var mapper = _database.OpenConnection())
|
using (var mapper = _database.OpenConnection())
|
||||||
{
|
{
|
||||||
mapper.Execute(@"DELETE FROM ""Collections""
|
mapper.Execute(@"DELETE FROM ""Collections"" WHERE ""TmdbId"" IN (SELECT ""X"".""TmdbId"" FROM (SELECT ""Collections"".""TmdbId"", COUNT(""Movies"".""Id"") as ""MovieCount"" FROM ""Collections""
|
||||||
WHERE ""TmdbId"" IN (
|
LEFT OUTER JOIN ""MovieMetadata"" ON ""Collections"".""TmdbId"" = ""MovieMetadata"".""CollectionTmdbId""
|
||||||
SELECT ""Collections"".""TmdbId"" FROM ""Collections""
|
LEFT OUTER JOIN ""Movies"" ON ""Movies"".""MovieMetadataId"" = ""MovieMetadata"".""Id""
|
||||||
LEFT OUTER JOIN ""MovieMetadata""
|
GROUP BY ""Collections"".""Id"") AS ""X"" WHERE ""X"".""MovieCount"" = 0)");
|
||||||
ON ""Collections"".""TmdbId"" = ""MovieMetadata"".""CollectionTmdbId""
|
|
||||||
WHERE ""MovieMetadata"".""Id"" IS NULL)");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue