-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschema.sql
More file actions
81 lines (73 loc) · 1.93 KB
/
Copy pathschema.sql
File metadata and controls
81 lines (73 loc) · 1.93 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username varchar(15) NOT NULL UNIQUE,
password TEXT NOT NULL,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
email TEXT NOT NULL
CHECK (position('@' IN email) > 1),
created_at TEXT NOT NULL,
airline TEXT NOT NULL,
is_admin BOOLEAN NOT NULL DEFAULT FALSE
);
CREATE TABLE layovers (
layover_code VARCHAR(3) PRIMARY KEY,
city_name TEXT NOT NULL,
country_name TEXT NOT NULL,
description TEXT NOT NULL,
currency VARCHAR(3) NOT NULL,
language VARCHAR(18) NOT NULL,
police INTEGER NOT NULL,
ambulance INTEGER NOT NULL,
international BOOLEAN NOT NULL DEFAULT TRUE,
main_img_url TEXT,
thumbnail_url TEXT
);
CREATE TABLE activities (
id SERIAL PRIMARY KEY,
author_id INTEGER NOT NULL,
layover_code VARCHAR(3) NOT NULL,
type_id INTEGER NOT NULL,
address TEXT,
title TEXT NOT NULL,
description TEXT NOT NULL,
body TEXT NOT NULL
);
CREATE TABLE activity_types (
id SERIAL PRIMARY KEY,
type VARCHAR(20) NOT NULL
);
CREATE TABLE comments (
id SERIAL PRIMARY KEY,
author_id INTEGER NOT NULL,
activity_id INTEGER NOT NULL,
created_at TEXT NOT NULL,
body TEXT NOT NULL
);
CREATE TABLE activity_photos (
id SERIAL PRIMARY KEY,
caption VARCHAR(30) NOT NULL,
activity_id INTEGER NOT NULL,
author_id INTEGER NOT NULL,
created_at TEXT NOT NULL,
url TEXT NOT NULL,
main_img BOOLEAN NOT NULL DEFAULT FALSE
);
CREATE TABLE photo_likes (
id SERIAL PRIMARY KEY,
photo_id INTEGER NOT NULL,
author_id INTEGER NOT NULL,
created_at TEXT NOT NULL
);
CREATE TABLE comment_likes (
id SERIAL PRIMARY KEY,
comment_id INTEGER NOT NULL,
author_id INTEGER NOT NULL,
created_at TEXT NOT NULL
);
CREATE TABLE activity_likes (
id SERIAL PRIMARY KEY,
activity_id INTEGER NOT NULL,
author_id INTEGER NOT NULL,
created_at TEXT NOT NULL
);