Hallo zusammen!
Gibt es irgendwo eine fertige Abfrage, um likes_given und likes_received in der Tabelle user_stats zu aktualisieren? Ich bin mir nicht sicher, woher das kommen soll – wahrscheinlich etwas, das auf den Daten in den Tabellen user_actions und posts basiert?
Das ist für eine Migration, bei der ich bereits ein paar Abfragen verwende, die ich, glaube ich, von einem der Importeure übernommen habe:
UPDATE posts SET like_count = coalesce(cnt,0)
FROM (
SELECT post_id, count(*) cnt
FROM post_actions
WHERE post_action_type_id = 2 AND deleted_at IS NULL
GROUP BY post_id
) x
WHERE posts.like_count <> x.cnt AND posts.id = x.post_id
UPDATE topics SET like_count = coalesce(cnt,0)
FROM (
SELECT topic_id, sum(like_count) cnt
FROM posts
WHERE deleted_at IS NULL
GROUP BY topic_id
) x
WHERE topics.like_count <> x.cnt AND topics.id = x.topic_id
Das aktualisiert die Like-Zahlen in posts und topics, aber nicht in user_stats…