diff --git a/web/tasks/vk_catalog.py b/web/tasks/vk_catalog.py index aa294fa..574c837 100644 --- a/web/tasks/vk_catalog.py +++ b/web/tasks/vk_catalog.py @@ -62,6 +62,16 @@ def _sync_user(db, user_id: int, token: str, group_id: str) -> None: count=a.get("count"), fetched_at=now, )) + # Delete cached albums that no longer exist in VK + ( + db.query(VkCachedAlbum) + .filter( + VkCachedAlbum.user_id == user_id, + VkCachedAlbum.vk_group_id == group_id, + VkCachedAlbum.album_id.notin_(album_ids), + ) + .delete(synchronize_session=False) + ) db.flush() # ── products (extended=1 gives albums_ids per product) ───────────────────