1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
create table comment (
id serial primary key,
creator_id int references user_ on update cascade on delete cascade not null,
post_id int references post on update cascade on delete cascade not null,
parent_id int references comment on update cascade on delete cascade,
content text not null,
published timestamp not null default now(),
updated timestamp
);
create table comment_like (
id serial primary key,
user_id int references user_ on update cascade on delete cascade not null,
comment_id int references comment on update cascade on delete cascade not null,
post_id int references post on update cascade on delete cascade not null,
score smallint not null, -- -1, or 1 for dislike, like, no row for no opinion
published timestamp not null default now(),
unique(comment_id, user_id)
);
|