-
Notifications
You must be signed in to change notification settings - Fork 0
/
migrations.sql
284 lines (246 loc) · 7.99 KB
/
migrations.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
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
create table Users
(
userId varchar(255) not null
primary key,
username varchar(255) not null,
password varchar(255) not null,
role varchar(255) not null,
name varchar(255) not null,
phoneNumber varchar(255) not null,
email varchar(255) not null,
updatedAt datetime null,
createdAt datetime null
);
create table Notifications
(
notificationId varchar(255) not null
primary key,
message varchar(255) not null,
status varchar(255) not null,
type varchar(255) not null,
userId varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId)
);
create table Attachments
(
attachmentId varchar(255) not null
primary key,
notificationId varchar(255) not null,
attachedId varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (notificationId) references Notifications (notificationId)
);
create table Orders
(
orderId varchar(255) not null
primary key,
userId varchar(255) not null,
totalPrice int not null,
totalQuantity int not null,
status varchar(255) not null,
type varchar(255) not null,
transactionId varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId),
foreign key (transactionId) references Transactions (transactionId)
);
create table Receipts
(
receiptId varchar(255) not null
primary key,
userId varchar(255) not null,
transactionId double not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId),
foreign key (transactionId) references Transactions (transactionId)
);
create table Reviews
(
reviewId varchar(255) not null
primary key,
model varchar(255) not null,
modelUUID varchar(255) not null,
userId varchar(255) not null,
reviewContent text not null,
reviewRating varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (orderId) references Orders (orderId),
foreign key (userId) references Users (userId)
);
create table Stores
(
storeId varchar(255) not null
primary key,
name varchar(255) not null,
vendorId varchar(255) not null,
description text null,
category varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (vendorId) references Users (userId)
);
create table Foods
(
foodId varchar(255) not null
primary key,
storeId varchar(255) not null,
foodName varchar(255) not null,
foodType varchar(255) not null,
foodPrice varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (storeId) references Stores (storeId)
);
create table OrderFoods
(
orderFoodId varchar(255) not null
primary key,
foodId varchar(255) not null,
orderId varchar(255) not null,
foodName varchar(255) not null,
foodPrice varchar(255) not null,
amount int not null,
foodQuantity int not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (foodId) references Foods (foodId),
foreign key (orderId) references Orders (orderId)
);
create table Tasks
(
taskId varchar(255) not null
primary key,
runnerId varchar(255) not null,
orderId varchar(255) not null,
deliveryFee int not null,
status varchar(255) not null,
transactionId varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (runnerId) references Users (userId),
foreign key (orderId) references Orders (orderId),
foreign key (transactionId) references Transactions (transactionId)
);
create table Transactions
(
transactionId varchar(255) not null
primary key,
amount double not null,
type varchar(255) not null,
status varchar(255) not null,
payerId varchar(255) not null,
payeeId varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (payerId) references Users (userId),
foreign key (payeeId) references Users (userId)
);
create table Wallets
(
walletId varchar(255) not null
primary key,
userId varchar(255) not null,
credit double null,
updatedAt datetime null,
createdAt datetime not null,
foreign key (userId) references Users (userId)
);
create table Carts
(
cartId varchar(255) not null
primary key,
userId varchar(255) not null,
foodId varchar(255) not null,
foodName varchar(255) not null,
foodPrice double not null,
foodQuantity int not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId),
foreign key (foodId) references Foods (foodId)
)
create table Sessions
(
sessionId varchar(255) not null
primary key,
userId varchar(255) not null,
startTime datetime not null,
endTime datetime not null,
duration int not null,
ipAddress varchar(255) not null,
userAgent varchar(255) not null,
location varchar(255) not null,
deviceInfo varchar(255) not null,
isAuthenticated boolean not null,
referer varchar(255) not null,
terminationReason varchar(255) not null,
isActive boolean not null,
sessionToken varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId)
);
create table Medias
(
mediaId varchar(255) not null
primary key,
model varchar(255) not null,
modelUUID varchar(255) not null,
collection varchar(255) not null,
fileName varchar(255) not null,
mimeType varchar(255) not null,
disk varchar(255) not null,
height int not null,
width int not null,
size int not null,
updatedAt datetime not null,
createdAt datetime not null
);
create table AdminProfiles
(
adminProfileId varchar(255) not null
primary key,
userId varchar(255) not null,
gender varchar(255) not null,
dob datetime not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId)
);
create table VendorProfiles
(
vendorProfileId varchar(255) not null
primary key,
userId varchar(255) not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId)
)
create table CustomerProfiles
(
customerProfileId varchar(255) not null
primary key,
userId varchar(255) not null,
gender varchar(255) not null,
dob datetime not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId)
)
create table RunnerProfiles
(
runnerProfileId varchar(255) not null
primary key,
userId varchar(255) not null,
gender varchar(255) not null,
dob datetime not null,
updatedAt datetime not null,
createdAt datetime not null,
foreign key (userId) references Users (userId)
)