Add database logic to clear out requests that have 0 votes
Also, clean up some db constraints. Fixes #29
This commit is contained in:
parent
8483705ae4
commit
632dc73ee9
4 changed files with 35 additions and 3 deletions
24
db/upgrade/v0.6-v0.7.sql
Normal file
24
db/upgrade/v0.6-v0.7.sql
Normal file
|
@ -0,0 +1,24 @@
|
|||
BEGIN;
|
||||
|
||||
UPDATE version SET minor = 7;
|
||||
|
||||
ALTER TABLE votes
|
||||
ALTER COLUMN requestUrl SET NOT NULL
|
||||
ALTER COLUMN userId SET NOT NULL;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE clear_zero_votes()
|
||||
LANGUAGE SQL
|
||||
AS $$
|
||||
DELETE FROM requests WHERE NOT EXISTS
|
||||
(SELECT FROM votes WHERE requests.url = votes.requesturl);
|
||||
$$;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE delete_vote(url varchar,voteuser int)
|
||||
LANGUAGE SQL
|
||||
AS $$
|
||||
DELETE FROM votes WHERE requesturl = url AND userid = voteuser;
|
||||
CALL update_scores();
|
||||
CALL clear_zero_votes();
|
||||
$$;
|
||||
|
||||
COMMIT;
|
Loading…
Add table
Add a link
Reference in a new issue