summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2022-08-30 12:43:27 +0200
committerYorhel <git@yorhel.nl>2022-08-30 12:44:07 +0200
commitfe97972d35d0b3fdb525ee2f2f5fe05bf977b7fe (patch)
tree7d857deffcba3f1114cf5f95e26f603e5a1bae9d /sql
parent34fabe3ebeb17119aac578bcb224fd9c74fb93ea (diff)
Also add trait overrides
Diffstat (limited to 'sql')
-rw-r--r--sql/perms.sql1
-rw-r--r--sql/schema.sql9
-rw-r--r--sql/tableattrs.sql2
3 files changed, 12 insertions, 0 deletions
diff --git a/sql/perms.sql b/sql/perms.sql
index 2a09c83a..f13e9d54 100644
--- a/sql/perms.sql
+++ b/sql/perms.sql
@@ -83,6 +83,7 @@ GRANT SELECT, INSERT, UPDATE, DELETE ON ulist_vns_labels TO vndb_site;
GRANT SELECT, INSERT, UPDATE ON users TO vndb_site;
GRANT SELECT, INSERT, UPDATE ON users_prefs TO vndb_site;
GRANT SELECT, INSERT, UPDATE, DELETE ON users_prefs_tags TO vndb_site;
+GRANT SELECT, INSERT, UPDATE, DELETE ON users_prefs_traits TO vndb_site;
GRANT SELECT (id, perm_usermod), INSERT (id, mail, ip) ON users_shadow TO vndb_site;
GRANT SELECT, INSERT ON users_username_hist TO vndb_site;
GRANT SELECT, INSERT, UPDATE, DELETE ON users_traits TO vndb_site;
diff --git a/sql/schema.sql b/sql/schema.sql
index 8f9cc30f..47cda09b 100644
--- a/sql/schema.sql
+++ b/sql/schema.sql
@@ -1107,6 +1107,15 @@ CREATE TABLE users_prefs_tags (
PRIMARY KEY(id, tid)
);
+-- users_prefs_traits
+CREATE TABLE users_prefs_traits (
+ id vndbid NOT NULL,
+ tid vndbid NOT NULL,
+ spoil smallint NOT NULL,
+ childs boolean NOT NULL,
+ PRIMARY KEY(id, tid)
+);
+
-- Additional fields for the 'users' table, but with some protected columns.
-- (Separated from the users table to simplify permission management)
CREATE TABLE users_shadow (
diff --git a/sql/tableattrs.sql b/sql/tableattrs.sql
index 794d0c55..a94fed5f 100644
--- a/sql/tableattrs.sql
+++ b/sql/tableattrs.sql
@@ -144,6 +144,8 @@ ALTER TABLE ulist_vns_labels ADD CONSTRAINT ulist_vns_labels_uid_vid_fke
ALTER TABLE users_prefs ADD CONSTRAINT users_prefs_id_fkey FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE;
ALTER TABLE users_prefs_tags ADD CONSTRAINT users_prefs_tags_id_fkey FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE;
ALTER TABLE users_prefs_tags ADD CONSTRAINT users_prefs_tags_tag_fkey FOREIGN KEY (tag) REFERENCES tags (id) ON DELETE CASCADE;
+ALTER TABLE users_prefs_traits ADD CONSTRAINT users_prefs_traits_id_fkey FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE;
+ALTER TABLE users_prefs_traits ADD CONSTRAINT users_prefs_traits_tid_fkey FOREIGN KEY (tid) REFERENCES traits (id) ON DELETE CASCADE;
ALTER TABLE users_shadow ADD CONSTRAINT users_shadow_id_fkey FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE;
ALTER TABLE users_traits ADD CONSTRAINT users_traits_id_fkey FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE;
ALTER TABLE users_traits ADD CONSTRAINT users_traits_tid_fkey FOREIGN KEY (tid) REFERENCES traits (id);