Here's the SQL query for the function which get the post_id
whenever there is a new entry in the table voters
and based on that it count all the posts having same ID and set that value in the post
table in a column.
Function
CREATE OR REPLACE FUNCTION update_vote_count() RETURNS trigger LANGUAGE 'plpgsql' AS $BODY$ BEGIN UPDATE post SET votes = (SELECT COUNT(*) FROM voters WHERE post_id = NEW.post_id) WHERE post_id = NEW.post_id; RETURN NEW; END; $BODY$
Trigger
CREATE TRIGGER voters_count AFTER UPDATE ON voters FOR EACH ROW EXECUTE PROCEDURE update_vote_count();
The problem is that, this function is not triggering and I don't even know how to debug these database functions/triggers.
Top comments (2)
Dam! That's a really good suggestion, why didn't I thought of that even though we use
console.log()
statements inside the codebase a lot. 😅Also I will also look into logging and LISTEN/NOTIFY.