-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmtp-db.sql
53 lines (40 loc) · 1.7 KB
/
smtp-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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
CREATE TABLE IF NOT EXISTS users (
email VARCHAR(255) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);
CREATE TABLE IF NOT EXISTS sent_emails (
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
sender_email VARCHAR(255) NOT NULL,
subject VARCHAR(255) NOT NULL,
content VARCHAR(255),
destination_email VARCHAR(255) NOT NULL,
destination_name VARCHAR(255) NOT NULL,
FOREIGN KEY (sender_email) REFERENCES users(email)
);
CREATE TABLE IF NOT EXISTS received_emails (
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
receiver_email VARCHAR(255) NOT NULL,
subject VARCHAR(255) NOT NULL,
content VARCHAR(255),
sender_email VARCHAR(255) NOT NULL,
sender_name VARCHAR(255) NOT NULL,
FOREIGN KEY (receiver_email) REFERENCES users(email)
);
CREATE TABLE IF NOT EXISTS sent_emails_files (
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
sent_email_uuid UUID NOT NULL,
path VARCHAR(255) NOT NULL,
FOREIGN KEY (sent_email_uuid) REFERENCES sent_emails(uuid)
);
CREATE TABLE IF NOT EXISTS received_emails_files (
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
received_email_uuid UUID NOT NULL,
path VARCHAR(255) NOT NULL,
FOREIGN KEY (received_email_uuid) REFERENCES received_emails(uuid)
);
CREATE INDEX IF NOT EXISTS users_email_passwd_idx ON users (email, password);
CREATE INDEX IF NOT EXISTS sender_email_idx ON sent_emails (sender_email);
CREATE INDEX IF NOT EXISTS received_email_idx ON received_emails (receiver_email);
CREATE INDEX IF NOT EXISTS sent_emails_files_idx ON sent_emails_files (sent_email_uuid);
CREATE INDEX IF NOT EXISTS received_emails_files_idx ON received_emails_files (received_email_uuid);