-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschema.sql
More file actions
36 lines (26 loc) · 1.23 KB
/
schema.sql
File metadata and controls
36 lines (26 loc) · 1.23 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
CREATE UNIQUE INDEX IF NOT EXISTS uk_user_email
ON users (email);
CREATE UNIQUE INDEX IF NOT EXISTS uk_user_student_no
ON users (student_no);
CREATE UNIQUE INDEX IF NOT EXISTS uk_roommate_user_no
ON roommate (user_no);
CREATE UNIQUE INDEX IF NOT EXISTS uk_room_like_user_room
ON room_like (user_no, room_no);
CREATE UNIQUE INDEX IF NOT EXISTS uk_device_user_device
ON devices (user_no, device_id);
CREATE UNIQUE INDEX IF NOT EXISTS uk_room_request_user_room_direction
ON room_request (user_no, room_no, direction);
DROP INDEX IF EXISTS idx_room_status_created;
DROP INDEX IF EXISTS idx_room_status_remaining_created;
CREATE INDEX IF NOT EXISTS idx_room_status_gender_created
ON room (room_status, gender, created_at DESC, room_no DESC);
CREATE INDEX IF NOT EXISTS idx_room_status_gender_remaining_created
ON room (room_status, gender, remaining ASC, created_at DESC, room_no DESC);
ALTER TABLE IF EXISTS chat_room
DROP CONSTRAINT IF EXISTS uk_chat_room_direct;
CREATE UNIQUE INDEX IF NOT EXISTS uk_chat_room_group
ON chat_room (room_no)
WHERE chat_room_type = 'GROUP';
CREATE UNIQUE INDEX IF NOT EXISTS uk_chat_room_direct
ON chat_room (room_no, applicant_user_no)
WHERE chat_room_type = 'DIRECT';