-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSetupTables.sql
More file actions
66 lines (58 loc) · 2.47 KB
/
SetupTables.sql
File metadata and controls
66 lines (58 loc) · 2.47 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
DROP TABLE IF EXISTS Members;
CREATE TABLE Members (MemberID SERIAL PRIMARY KEY,
FirstName VARCHAR(255) NOT NULL,
LastName VARCHAR(255) NOT NULL,
Username VARCHAR(255) NOT NULL UNIQUE,
Email VARCHAR(255) NOT NULL UNIQUE,
Password VARCHAR(255) NOT NULL,
SALT VARCHAR(255),
VERIFICATION_CODE VARCHAR(255),
Verification INT DEFAULT 0
);
DROP TABLE IF EXISTS Contacts;
CREATE TABLE Contacts(PrimaryKey SERIAL PRIMARY KEY,
MemberID_A INT NOT NULL,
MemberID_B INT NOT NULL,
Verified INT DEFAULT 0,
FOREIGN KEY(MemberID_A) REFERENCES Members(MemberID),
FOREIGN KEY(MemberID_B) REFERENCES Members(MemberID)
);
DROP TABLE IF EXISTS Chats;
CREATE TABLE Chats (ChatID SERIAL PRIMARY KEY,
Name VARCHAR(255)
);
DROP TABLE IF EXISTS ChatMembers;
CREATE TABLE ChatMembers (ChatID INT NOT NULL,
MemberID INT NOT NULL,
FOREIGN KEY(MemberID) REFERENCES Members(MemberID),
FOREIGN KEY(ChatID) REFERENCES Chats(ChatID)
);
DROP TABLE IF EXISTS Messages;
CREATE TABLE Messages (PrimaryKey SERIAL PRIMARY KEY,
ChatID INT,
Message VARCHAR(255),
MemberID INT,
FOREIGN KEY(MemberID) REFERENCES Members(MemberID),
FOREIGN KEY(ChatID) REFERENCES Chats(ChatID),
TimeStamp TIMESTAMP WITH TIME ZONE DEFAULT current_timestamp
);
DROP TABLE IF EXISTS Locations;
CREATE TABLE Locations (PrimaryKey SERIAL PRIMARY KEY,
MemberID INT,
CityName VARCHAR(255),
StateName VARCHAR(255),
Lat DECIMAL,
Long DECIMAL,
FOREIGN KEY(MemberID) REFERENCES Members(MemberID)
);
DROP TABLE IF EXISTS Demo;
CREATE TABLE Demo (DemoID SERIAL PRIMARY KEY,
Name VARCHAR(255) NOT NULL UNIQUE,
Message VARCHAR(255)
);
DROP TABLE IF EXISTS Push_Token;
CREATE TABLE Push_Token (KeyID SERIAL PRIMARY KEY,
MemberID INT NOT NULL UNIQUE,
Token VARCHAR(255),
FOREIGN KEY(MemberID) REFERENCES Members(MemberID)
);