summaryrefslogtreecommitdiff
path: root/util/sql/schema.sql
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2010-12-18 19:28:08 +0100
committerYorhel <git@yorhel.nl>2010-12-18 19:31:57 +0100
commita129097a782ced2f2c3622f239809a937ecdb7d4 (patch)
tree627c0b6d0834de24b3e1d447a20f05605f1848ca /util/sql/schema.sql
parent84017ee51424de8ada6f5e93d943dc1b4584e855 (diff)
RFC-01: Implemented (most) of the SQL part
- Created vnlists table - Converted rlists.vstat into that table - Added triggers to make sure that there is always a corresponding row in vnlists for every row in rlists. - Added a check on vnlists for the 'listdel' notify
Diffstat (limited to 'util/sql/schema.sql')
-rw-r--r--util/sql/schema.sql12
1 files changed, 12 insertions, 0 deletions
diff --git a/util/sql/schema.sql b/util/sql/schema.sql
index 48367e4c..2ea03f4a 100644
--- a/util/sql/schema.sql
+++ b/util/sql/schema.sql
@@ -340,6 +340,16 @@ CREATE TABLE vn_screenshots (
PRIMARY KEY(vid, scr)
);
+
+-- vnlists
+CREATE TABLE vnlists (
+ uid integer NOT NULL,
+ vid integer NOT NULL,
+ status smallint NOT NULL DEFAULT 0,
+ added TIMESTAMPTZ NOT NULL DEFAULT NOW(),
+ PRIMARY KEY(uid, vid)
+);
+
-- votes
CREATE TABLE votes (
vid integer NOT NULL DEFAULT 0,
@@ -405,6 +415,8 @@ ALTER TABLE vn_rev ADD FOREIGN KEY (vid) REFERENCES vn
ALTER TABLE vn_screenshots ADD FOREIGN KEY (vid) REFERENCES vn_rev (id);
ALTER TABLE vn_screenshots ADD FOREIGN KEY (scr) REFERENCES screenshots (id);
ALTER TABLE vn_screenshots ADD FOREIGN KEY (rid) REFERENCES releases (id);
+ALTER TABLE vnlists ADD FOREIGN KEY (uid) REFERENCES users (id) ON DELETE CASCADE;
+ALTER TABLE vnlists ADD FOREIGN KEY (vid) REFERENCES vn (id);
ALTER TABLE votes ADD FOREIGN KEY (uid) REFERENCES users (id) ON DELETE CASCADE;
ALTER TABLE votes ADD FOREIGN KEY (vid) REFERENCES vn (id);
ALTER TABLE wlists ADD FOREIGN KEY (uid) REFERENCES users (id) ON DELETE CASCADE;