1 create table category (
3 name varchar(100) not null unique
6 insert into category (name) values
23 ('Gender/Identity/Sexuality'),
24 ('Race/Colonisation'),
26 ('Science/Technology'),
27 ('Programming/Software'),
28 ('Health/Sports/Fitness'),
34 create table community (
35 id serial primary key,
36 name varchar(20) not null unique,
37 title varchar(100) not null,
39 category_id int references category on update cascade on delete cascade not null,
40 creator_id int references user_ on update cascade on delete cascade not null,
41 removed boolean default false not null,
42 published timestamp not null default now(),
46 create table community_moderator (
47 id serial primary key,
48 community_id int references community on update cascade on delete cascade not null,
49 user_id int references user_ on update cascade on delete cascade not null,
50 published timestamp not null default now(),
51 unique (community_id, user_id)
54 create table community_follower (
55 id serial primary key,
56 community_id int references community on update cascade on delete cascade not null,
57 user_id int references user_ on update cascade on delete cascade not null,
58 published timestamp not null default now(),
59 unique (community_id, user_id)
62 create table community_user_ban (
63 id serial primary key,
64 community_id int references community on update cascade on delete cascade not null,
65 user_id int references user_ on update cascade on delete cascade not null,
66 published timestamp not null default now(),
67 unique (community_id, user_id)
70 insert into community (name, title, category_id, creator_id) values ('main', 'The Default Community', 1, 1);
73 id serial primary key,
74 name varchar(20) not null unique,
76 creator_id int references user_ on update cascade on delete cascade not null,
77 published timestamp not null default now(),