diff --git a/lib/Artist.php b/lib/Artist.php index d8ab6fa3..8bcd709a 100644 --- a/lib/Artist.php +++ b/lib/Artist.php @@ -141,5 +141,25 @@ class Artist extends PropertiesBase{ from Artists where ArtistId = ? ', [$this->ArtistId]); + Db::Query(' + DELETE + from ArtistAlternateSpellings + where ArtistId = ? + ', [$this->ArtistId]); + } + + public static function DeleteUnreferencedArtists(): void{ + Db::Query(' + DELETE + from Artists + where ArtistId NOT IN + (SELECT DISTINCT ArtistId FROM Artworks) + '); + Db::Query(' + DELETE + from ArtistAlternateSpellings + where ArtistId NOT IN + (SELECT DISTINCT ArtistId FROM Artworks) + '); } } diff --git a/lib/Artwork.php b/lib/Artwork.php index c6c6183e..e8e80c11 100644 --- a/lib/Artwork.php +++ b/lib/Artwork.php @@ -731,6 +731,8 @@ class Artwork extends PropertiesBase{ $this->ArtworkId] ); + Artist::DeleteUnreferencedArtists(); + Db::Query(' DELETE FROM ArtworkTags WHERE