mirror of
https://github.com/standardebooks/web.git
synced 2025-07-14 10:31:59 -04:00
Clean up unused Tags, LocSubjects, and Collections
On `Ebook::Save()` and `Ebook::Delete()`, remove any unreferenced `Tag`, `LocSubject`, and `Collection` records. These are analogous to these lines in `Ebook::Create()`: ``` $this->CreateTags(); $this->CreateLocSubjects(); $this->CreateCollections(); ``` `EbookPlaceholder`s can't have `Tags` or `LocSubjects` at the moment, but other mistakes in production that are later corrected could leave unused `Tags` and `LocSubjects`. Context: https://github.com/standardebooks/web/pull/447#issuecomment-2555734692
This commit is contained in:
parent
88ed9639f5
commit
d6dd10be9c
4 changed files with 44 additions and 0 deletions
|
@ -64,4 +64,16 @@ class LocSubject{
|
|||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes `LocSubject`s that are not associated with any `Ebook`s.
|
||||
*/
|
||||
public static function DeleteUnused(): void{
|
||||
Db::Query('
|
||||
DELETE
|
||||
from LocSubjects
|
||||
where LocSubjectId not in
|
||||
(select distinct LocSubjectId from EbookLocSubjects)
|
||||
');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue