From 6e09fb0210656725966e7f357a941f043fc2faff Mon Sep 17 00:00:00 2001 From: sentriz Date: Thu, 31 Dec 2020 00:29:55 +0000 Subject: [PATCH] clean artists with join --- server/scanner/scanner.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/server/scanner/scanner.go b/server/scanner/scanner.go index 68c75ff..6ae0f44 100644 --- a/server/scanner/scanner.go +++ b/server/scanner/scanner.go @@ -135,12 +135,13 @@ func (s *Scanner) cleanFolders() (int, error) { func (s *Scanner) cleanArtists() (int, error) { sub := s.db. - Select("1"). - Model(&db.Album{}). - Where("albums.tag_artist_id=artists.id"). + Select("artists.id"). + Model(&db.Artist{}). + Joins("LEFT JOIN albums ON albums.tag_artist_id=artists.id"). + Where("albums.id IS NULL"). SubQuery() q := s.db. - Where("NOT EXISTS ?", sub). + Where("artists.id IN ?", sub). Delete(&db.Artist{}) return int(q.RowsAffected), q.Error }