-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdb.sql
32 lines (29 loc) · 803 Bytes
/
db.sql
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
CREATE TABLE IF NOT EXISTS users(
id SERIAL PRIMARY KEY,
username varchar (32) NOT NULL,
email varchar (32) UNIQUE NOT NULL,
password VARCHAR (256) NOT NULL,
created_on TIMESTAMP NOT NULL
);
CREATE TABLE IF NOT EXISTS questions(
id SERIAL PRIMARY KEY,
content TEXT NOT NULL,
question_owner INT NOT NULL REFERENCES users(id),
posted_on TIMESTAMP NOT NULL
);
CREATE TABLE IF NOT EXISTS answers(
id SERIAL PRIMARY KEY,
content TEXT NOT NULL,
answer_owner INT NOT NULL REFERENCES users(id),
upvotes INT DEFAULT 0,
downvotes INT DEFAULT 0,
accepted BOOLEAN DEFAULT FALSE,
question_id INT NOT NULL REFERENCES questions(id),
posted_on TIMESTAMP NOT NULL
);
CREATE TABLE IF NOT EXISTS votes(
id SERIAL,
voter INT NOT NULL REFERENCES users(id),
upvote BOOLEAN DEFAULT FALSE,
downvote BOOLEAN DEFAULT FALSE
);