feat(series): TagService.merge repoints series_page.series_tag_id
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -307,6 +307,7 @@ class TagService:
|
||||
await self._repoint_fandom_children(
|
||||
source_id, target_id, source_kind
|
||||
)
|
||||
await self._repoint_series_pages(source_id, target_id)
|
||||
|
||||
alias_created = False
|
||||
if keep_as_alias:
|
||||
@@ -400,6 +401,17 @@ class TagService:
|
||||
.values(canonical_tag_id=tgt)
|
||||
)
|
||||
|
||||
async def _repoint_series_pages(self, src: int, tgt: int) -> None:
|
||||
from ..models.series_page import SeriesPage
|
||||
|
||||
# image_id is UNIQUE across series_page and src != tgt, so an
|
||||
# image in src's series cannot already be in tgt's — no collision.
|
||||
await self.session.execute(
|
||||
update(SeriesPage)
|
||||
.where(SeriesPage.series_tag_id == src)
|
||||
.values(series_tag_id=tgt)
|
||||
)
|
||||
|
||||
async def _repoint_fandom_children(
|
||||
self, src: int, tgt: int, src_kind: TagKind
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user