up.sql (782B)
1 CREATE TABLE users ( 2 id BIGINT PRIMARY KEY, 3 name TEXT NOT NULL, 4 email TEXT NOT NULL, 5 hash TEXT NOT NULL 6 ); 7 8 CREATE TABLE groups ( 9 id BIGINT PRIMARY KEY, 10 name TEXT NOT NULL, 11 members BIGINT[] NOT NULL, 12 is_dm BOOLEAN NOT NULL, 13 channels BIGINT[] NOT NULL, 14 admin BIGINT[] NOT NULL, 15 owner BIGINT NOT NULL 16 ); 17 18 CREATE TABLE channels ( 19 id BIGINT PRIMARY KEY, 20 src_group BIGINT NOT NULL, 21 name TEXT NOT NULL, 22 members BIGINT[] NOT NULL, 23 private BOOLEAN NOT NULL 24 ); 25 26 CREATE TABLE user_groups ( 27 id BIGINT PRIMARY KEY, 28 groups BIGINT[] NOT NULL 29 ); 30 31 CREATE TABLE user_dms ( 32 id BIGINT PRIMARY KEY, 33 dms BIGINT[] NOT NULL 34 ); 35 36 CREATE TABLE messages ( 37 channel BIGINT PRIMARY KEY, 38 id BIGINT NOT NULL, 39 author BIGINT NOT NULL, 40 content TEXT 41 thread BIGINT 42 );