-
Notifications
You must be signed in to change notification settings - Fork 0
/
database_SIEGE.sql
42 lines (39 loc) · 1.09 KB
/
database_SIEGE.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
33
34
35
36
37
38
39
40
41
42
CREATE SCHEMA sns;
CREATE TABLE sns.user (
id int NOT NULL,
firstName VARCHAR(50) NULL DEFAULT NULL,
lastName VARCHAR(50) NULL DEFAULT NULL,
username VARCHAR(50) NULL DEFAULT NULL,
email VARCHAR(50) NULL,
passwordHash VARCHAR(32) NOT NULL,
PRIMARY KEY (id));
CREATE TABLE sns.user_follower (
id BIGINT NOT NULL,
sourceId BIGINT NOT NULL,
targetId BIGINT NOT NULL,
type SMALLINT NOT NULL DEFAULT 0,
createdAt TIMESTAMP NOT NULL,
updatedAt TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_ufollower_source
FOREIGN KEY (sourceId)
REFERENCES sns.user (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
ALTER TABLE sns.user_follower
ADD CONSTRAINT fk_ufollower_target
FOREIGN KEY (targetId)
REFERENCES sns.user (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
CREATE TABLE sns.user_post (
id BIGINT NOT NULL,
userId BIGINT NOT NULL,
post_bio VARCHAR NULL DEFAULT NULL,
createdAt TIMESTAMP NOT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_upost_user
FOREIGN KEY (userId)
REFERENCES sns.user (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION);