Update hashtag prune to account for followed hashtags
Some checks are pending
ci/woodpecker/pr/build-amd64 Pipeline is pending
ci/woodpecker/pr/build-arm64 Pipeline is pending
ci/woodpecker/pr/docs Pipeline is pending
ci/woodpecker/pr/lint Pipeline is pending
ci/woodpecker/pr/test Pipeline is pending

Currently pruning hashtags with the prune_objects task only accounts
for whether that hashtag is associated with an object, but this may
lead to a foreign key constraint violation if that hashtag has no
objects but is followed by a local user.

This adds an additional check to see if that hashtag has any followers
before proceeding to delete it.
This commit is contained in:
Norm 2024-10-25 11:09:20 -04:00
parent f101886709
commit 40da4e88ea

View file

@ -346,7 +346,10 @@ def run(["prune_objects" | args]) do
DELETE FROM hashtags AS ht
WHERE NOT EXISTS (
SELECT 1 FROM hashtags_objects hto
WHERE ht.id = hto.hashtag_id)
WHERE ht.id = hto.hashtag_id
UNION
SELECT 1 FROM user_follows_hashtag ufht
WHERE ht.id = ufht.hashtag_id)
"""
|> Repo.query!()