@@ -8,22 +8,22 @@ datasource db {
8
8
}
9
9
10
10
model User {
11
- userId Int @id @default (autoincrement () ) @map (" user_id " )
12
- email String @unique
13
- password String
14
- nickname String @unique
15
- createdAt DateTime @default (now () ) @map (" created_at " )
11
+ userId Int @id @default (autoincrement () ) @map (" user_id " )
12
+ email String @unique
13
+ password String
14
+ nickname String @unique
15
+ createdAt DateTime @default (now () ) @map (" created_at " )
16
16
17
17
sessions Session [] @relation (" UserSessions " )
18
18
userSessionTokens UserSessionToken [] @relation (" UserTokens " )
19
19
}
20
20
21
21
model Session {
22
- sessionId String @id @default (uuid () ) @map (" session_id " )
23
- title String
24
- expiredAt DateTime @map (" expired_at " )
25
- createdAt DateTime @default (now () ) @map (" created_at " )
26
- createUserId Int @map (" create_user_id " )
22
+ sessionId String @id @default (uuid () ) @map (" session_id " )
23
+ title String
24
+ expiredAt DateTime @map (" expired_at " )
25
+ createdAt DateTime @default (now () ) @map (" created_at " )
26
+ createUserId Int @map (" create_user_id " )
27
27
28
28
user User @relation (" UserSessions " , fields : [createUserId ] , references : [userId ] )
29
29
userSessionTokens UserSessionToken [] @relation (" SessionTokens " )
@@ -33,75 +33,80 @@ model Session {
33
33
}
34
34
35
35
model UserSessionToken {
36
- token String @id @default (uuid () )
37
- userId Int ? @map (" user_id " )
38
- sessionId String @map (" session_id " )
39
- isHost Boolean @default (false ) @map (" is_host " )
40
-
41
- user User ? @relation (" UserTokens " , fields : [userId ] , references : [userId ] )
42
- session Session @relation (" SessionTokens " , fields : [sessionId ] , references : [sessionId ] )
43
- questions Question [] @relation (" TokenQuestions " )
44
- questionLikes QuestionLike [] @relation (" TokenQuestionLikes " )
45
- replies Reply [] @relation (" TokenReplies " )
46
- replyLikes ReplyLike [] @relation (" TokenReplyLikes " )
47
- chattings Chatting [] @relation (" TokenChattings " )
36
+ token String @id @default (uuid () )
37
+ userId Int ? @map (" user_id " )
38
+ sessionId String @map (" session_id " )
39
+ isHost Boolean @default (false ) @map (" is_host " )
40
+
41
+ user User ? @relation (" UserTokens " , fields : [userId ] , references : [userId ] )
42
+ session Session @relation (" SessionTokens " , fields : [sessionId ] , references : [sessionId ] )
43
+ questions Question [] @relation (" TokenQuestions " )
44
+ questionLikes QuestionLike [] @relation (" TokenQuestionLikes " )
45
+ replies Reply [] @relation (" TokenReplies " )
46
+ replyLikes ReplyLike [] @relation (" TokenReplyLikes " )
47
+ chattings Chatting [] @relation (" TokenChattings " )
48
48
}
49
49
50
50
model Question {
51
- questionId Int @id @default (autoincrement () ) @map (" question_id " )
52
- createUserToken String @map (" create_user_token " )
53
- sessionId String @map (" session_id " )
54
- body String
55
- closed Boolean
56
- pinned Boolean
57
- createdAt DateTime @default (now () ) @map (" created_at " )
58
-
59
- session Session @relation (" SessionQuestions " , fields : [sessionId ] , references : [sessionId ] )
60
- createUserTokenEntity UserSessionToken @relation (" TokenQuestions " , fields : [createUserToken ] , references : [token ] )
61
- questionLikes QuestionLike [] @relation (" QuestionLikes " )
62
- replies Reply [] @relation (" QuestionReplies " )
51
+ questionId Int @id @default (autoincrement () ) @map (" question_id " )
52
+ createUserToken String @map (" create_user_token " )
53
+ sessionId String @map (" session_id " )
54
+ body String
55
+ closed Boolean
56
+ pinned Boolean
57
+ createdAt DateTime @default (now () ) @map (" created_at " )
58
+
59
+ session Session @relation (" SessionQuestions " , fields : [sessionId ] , references : [sessionId ] )
60
+ createUserTokenEntity UserSessionToken @relation (" TokenQuestions " , fields : [createUserToken ] , references : [token ] )
61
+ questionLikes QuestionLike [] @relation (" QuestionLikes " )
62
+ replies Reply [] @relation (" QuestionReplies " )
63
+
64
+ @@index ([sessionId ] )
63
65
}
64
66
65
67
model QuestionLike {
66
- questionLikeId Int @id @default (autoincrement () ) @map (" question_like_id " )
67
- createUserToken String @map (" create_user_token " )
68
- questionId Int @map (" question_id " )
68
+ questionLikeId Int @id @default (autoincrement () ) @map (" question_like_id " )
69
+ createUserToken String @map (" create_user_token " )
70
+ questionId Int @map (" question_id " )
69
71
70
72
question Question @relation (" QuestionLikes " , fields : [questionId ] , references : [questionId ] , onDelete : Cascade )
71
73
createUserTokenEntity UserSessionToken @relation (" TokenQuestionLikes " , fields : [createUserToken ] , references : [token ] )
72
74
}
73
75
74
76
model Reply {
75
- replyId Int @id @default (autoincrement () ) @map (" reply_id " )
76
- createUserToken String @map (" create_user_token " )
77
- sessionId String @map (" session_id " )
78
- questionId Int @map (" question_id " )
79
- body String
80
- createdAt DateTime @default (now () ) @map (" created_at " )
81
- deleted Boolean @default (false )
82
-
83
- session Session @relation (" SessionReplies " , fields : [sessionId ] , references : [sessionId ] )
84
- question Question @relation (" QuestionReplies " , fields : [questionId ] , references : [questionId ] , onDelete : Cascade )
77
+ replyId Int @id @default (autoincrement () ) @map (" reply_id " )
78
+ createUserToken String @map (" create_user_token " )
79
+ sessionId String @map (" session_id " )
80
+ questionId Int @map (" question_id " )
81
+ body String
82
+ createdAt DateTime @default (now () ) @map (" created_at " )
83
+ deleted Boolean @default (false )
84
+
85
+ session Session @relation (" SessionReplies " , fields : [sessionId ] , references : [sessionId ] )
86
+ question Question @relation (" QuestionReplies " , fields : [questionId ] , references : [questionId ] , onDelete : Cascade )
85
87
createUserTokenEntity UserSessionToken @relation (" TokenReplies " , fields : [createUserToken ] , references : [token ] )
86
- replyLikes ReplyLike [] @relation (" ReplyLikes " )
88
+ replyLikes ReplyLike [] @relation (" ReplyLikes " )
87
89
}
88
90
89
91
model ReplyLike {
90
- replyLikeId Int @id @default (autoincrement () ) @map (" reply_like_id " )
91
- createUserToken String @map (" create_user_token " )
92
- replyId Int @map (" reply_id " )
92
+ replyLikeId Int @id @default (autoincrement () ) @map (" reply_like_id " )
93
+ createUserToken String @map (" create_user_token " )
94
+ replyId Int @map (" reply_id " )
93
95
94
- reply Reply @relation (" ReplyLikes " , fields : [replyId ] , references : [replyId ] , onDelete : Cascade )
96
+ reply Reply @relation (" ReplyLikes " , fields : [replyId ] , references : [replyId ] , onDelete : Cascade )
95
97
createUserTokenEntity UserSessionToken @relation (" TokenReplyLikes " , fields : [createUserToken ] , references : [token ] )
96
98
}
97
99
98
100
model Chatting {
99
- chattingId Int @id @default (autoincrement () ) @map (" chatting_id " )
100
- createUserToken String @map (" create_user_token " )
101
- body String
102
- createdAt DateTime @default (now () ) @map (" created_at " )
103
- sessionId String @map (" session_id " )
101
+ chattingId Int @id @default (autoincrement () ) @map (" chatting_id " )
102
+ createUserToken String @map (" create_user_token " )
103
+ body String
104
+ createdAt DateTime @default (now () ) @map (" created_at " )
105
+ sessionId String @map (" session_id " )
104
106
105
- session Session @relation (" SessionChattings " , fields : [sessionId ] , references : [sessionId ] )
107
+ session Session @relation (" SessionChattings " , fields : [sessionId ] , references : [sessionId ] )
106
108
createUserTokenEntity UserSessionToken @relation (" TokenChattings " , fields : [createUserToken ] , references : [token ] )
107
- }
109
+
110
+ @@index ([sessionId ] )
111
+ @@index ([sessionId , chattingId (Sort .desc ) ] )
112
+ }
0 commit comments