-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate database.sql
More file actions
80 lines (75 loc) · 2.41 KB
/
create database.sql
File metadata and controls
80 lines (75 loc) · 2.41 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
DROP TABLE IF EXISTS users;
CREATE TABLE users (
id INT AUTO_INCREMENT NOT NULL,
email CHAR(45) UNIQUE NOT NULL,
username CHAR(45),
name CHAR(45),
about TEXT,
isAnonymous BOOL DEFAULT FALSE NOT NULL,
PRIMARY KEY (id),
KEY name_email (name, email)
);
DROP TABLE IF EXISTS follower_followee;
CREATE TABLE follower_followee (
follower CHAR(45) NOT NULL,
followee CHAR(45) NOT NULL,
PRIMARY KEY (follower, followee),
KEY f_f (followee, follower)
);
DROP TABLE IF EXISTS forums;
CREATE TABLE forums (
id INT AUTO_INCREMENT NOT NULL,
name CHAR(45) NOT NULL UNIQUE,
short_name CHAR(45) NOT NULL UNIQUE,
user CHAR(45) NOT NULL,
PRIMARY KEY (id),
KEY (short_name, user, id, name)
);
DROP TABLE IF EXISTS threads;
CREATE TABLE threads (
id INT AUTO_INCREMENT NOT NULL,
title CHAR(50) NOT NULL,
slug CHAR(50) NOT NULL,
forum CHAR(45) NOT NULL,
user CHAR(45) NOT NULL,
posts INT DEFAULT 0 NOT NULL,
likes INT DEFAULT 0 NOT NULL,
dislikes INT DEFAULT 0 NOT NULL,
points INT DEFAULT 0 NOT NULL,
isDeleted BOOL DEFAULT FALSE NOT NULL,
isClosed BOOL DEFAULT FALSE NOT NULL,
date DATETIME NOT NULL,
message TEXT NOT NULL,
PRIMARY KEY (id),
KEY forum_date (forum, date),
KEY user_date (user, date)
);
DROP TABLE IF EXISTS posts;
CREATE TABLE posts (
id INT AUTO_INCREMENT NOT NULL,
message TEXT NOT NULL,
forum CHAR(45) NOT NULL,
user CHAR(45) NOT NULL,
parent INT DEFAULT NULL,
thread INT NOT NULL,
likes INT DEFAULT 0 NOT NULL,
dislikes INT DEFAULT 0 NOT NULL,
points INT DEFAULT 0 NOT NULL,
isDeleted BOOL DEFAULT FALSE NOT NULL,
isSpam BOOL DEFAULT FALSE NOT NULL,
isEdited BOOL DEFAULT FALSE NOT NULL,
isApproved BOOL DEFAULT FALSE NOT NULL,
isHighlighted BOOL DEFAULT FALSE NOT NULL,
date DATETIME NOT NULL,
PRIMARY KEY (id),
KEY user_date (user, date),
KEY user_forum (user, forum),
KEY forum_date (forum, date),
KEY thread_date (thread, date)
);
DROP TABLE IF EXISTS users_threads;
CREATE TABLE users_threads (
user CHAR(45) NOT NULL,
thread INT NOT NULL,
PRIMARY KEY (user, thread)
);