summaryrefslogtreecommitdiffstats
path: root/server/migrations/2019-02-27-170003_create_community/up.sql
blob: f78486d583ead9464ad3f3808bcb3b96f98fe7aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
create table category (
  id serial primary key,
  name varchar(100) not null unique
);

insert into category (name) values
('Discussion'),
('Humor/Memes'),
('Gaming'),
('Movies'),
('TV'),
('Music'),
('Literature'),
('Comics'),
('Photography'),
('Art'),
('Learning'),
('DIY'),
('Lifestyle'),
('News'),
('Politics'),
('Society'),
('Gender/Identity/Sexuality'),
('Race/Colonisation'),
('Religion'),
('Science/Technology'),
('Programming/Software'),
('Health/Sports/Fitness'),
('Porn'),
('Places'),
('Meta'),
('Other');



create table community (
  id serial primary key,
  name varchar(20) not null unique,
  title varchar(100) not null,
  description text,
  category_id int references category on update cascade on delete cascade not null,
  creator_id int references user_ on update cascade on delete cascade not null,
  published timestamp not null default now(),
  updated timestamp
);

create table community_moderator (
  id serial primary key,
  community_id int references community on update cascade on delete cascade not null,
  user_id int references user_ on update cascade on delete cascade not null,
  published timestamp not null default now()
);

create table community_follower (
  id serial primary key,
  community_id int references community on update cascade on delete cascade not null,
  user_id int references user_ on update cascade on delete cascade not null,
  published timestamp not null default now()
);

insert into community (name, title, category_id, creator_id) values ('main', 'The default Community', 1, 1);