clean artists with join
This commit is contained in:
@@ -135,12 +135,13 @@ func (s *Scanner) cleanFolders() (int, error) {
|
|||||||
|
|
||||||
func (s *Scanner) cleanArtists() (int, error) {
|
func (s *Scanner) cleanArtists() (int, error) {
|
||||||
sub := s.db.
|
sub := s.db.
|
||||||
Select("1").
|
Select("artists.id").
|
||||||
Model(&db.Album{}).
|
Model(&db.Artist{}).
|
||||||
Where("albums.tag_artist_id=artists.id").
|
Joins("LEFT JOIN albums ON albums.tag_artist_id=artists.id").
|
||||||
|
Where("albums.id IS NULL").
|
||||||
SubQuery()
|
SubQuery()
|
||||||
q := s.db.
|
q := s.db.
|
||||||
Where("NOT EXISTS ?", sub).
|
Where("artists.id IN ?", sub).
|
||||||
Delete(&db.Artist{})
|
Delete(&db.Artist{})
|
||||||
return int(q.RowsAffected), q.Error
|
return int(q.RowsAffected), q.Error
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user