diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-05-29 09:23:25 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-05-29 09:23:25 +0100 |
commit | f5b647053043afe0de18db327ea9ae4b6665daf2 (patch) | |
tree | 0a70171cd4975a4b1f45d42529922cb8f9b19b7b /db/schema.sql | |
parent | 0ed870721f4d257a71d929f73b6f4be80a5afe01 (diff) | |
parent | 4b88125da243aba9ad9754619c53cd5c50512c6d (diff) |
Merge branch 'roles'
Diffstat (limited to 'db/schema.sql')
-rw-r--r-- | db/schema.sql | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/db/schema.sql b/db/schema.sql index 98005028c..93d73ab00 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -73,6 +73,22 @@ create unique index body_areas_body_id_area_id_idx on body_areas(body_id, area_i ALTER TABLE users ADD CONSTRAINT users_from_body_fkey FOREIGN KEY (from_body) REFERENCES body(id); +-- roles table +create table roles ( + id serial not null primary key, + body_id integer not null references body(id) ON DELETE CASCADE, + name text, + permissions text ARRAY, + unique(body_id, name) +); + +-- Record which role(s) each user holds +create table user_roles ( + id serial not null primary key, + role_id integer not null references roles(id) ON DELETE CASCADE, + user_id integer not null references users(id) ON DELETE CASCADE +); + -- The contact for a category within a particular body create table contacts ( id serial primary key, |