-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathschema.sql
More file actions
218 lines (196 loc) · 5.09 KB
/
Copy pathschema.sql
File metadata and controls
218 lines (196 loc) · 5.09 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
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
/**
* @author evilnapsis
* @brief Modelo de la base de datos
* updated 2026-04-24
**/
create database smile;
use smile;
create table user(
id int not null auto_increment primary key,
name varchar(50),
lastname varchar(50),
username varchar(50),
email varchar(255),
password varchar(60),
code varchar(20),
is_active boolean default 0,
is_admin boolean default 0,
created_at datetime
);
insert into user(email,password,is_active,is_admin,created_at) value ("admin",sha1(md5("admin")),1,1,NOW());
create table recover (
id int not null auto_increment primary key,
user_id int,
code varchar(20),
is_used boolean default 0,
created_at datetime,
foreign key(user_id) references user(id)
);
create table level(
id int not null auto_increment primary key,
name varchar(50)
);
insert into level (name) values ("Publico"), ("Solo amigos"), ("Amigos de mis amigos");
create table country(
id int not null auto_increment primary key,
name varchar(50),
preffix varchar(50)
);
insert into country(name,preffix) values ("Mexico","mx"),("Argentina","ar"),("Espa~a","es"),("Estados Unidos","eu"),("Chile","cl"),("Colombia","co"),("Peru","pe");
create table sentimental(
id int not null auto_increment primary key,
name varchar(50)
);
insert into sentimental(name) values ("Soltero"),("Casado");
create table profile(
day_of_birth date ,
gender varchar(1) ,
country_id int ,
image varchar(255),
image_header varchar(255),
title varchar(255),
bio varchar(255),
likes text,
dislikes text,
address varchar(255) ,
phone varchar(255) ,
public_email varchar(255) ,
user_id int ,
level_id int ,
sentimental_id int ,
foreign key (sentimental_id) references sentimental(id),
foreign key (country_id) references country(id),
foreign key (level_id) references level(id),
foreign key (user_id) references user(id)
);
create table album(
id int not null auto_increment primary key,
title varchar(200),
content varchar(500),
user_id int,
level_id int,
created_at datetime,
foreign key (user_id) references user(id),
foreign key (level_id) references level(id)
);
create table image(
id int not null auto_increment primary key,
src varchar(255),
title varchar(200),
content varchar(500),
user_id int,
level_id int,
album_id int,
created_at datetime,
foreign key (album_id) references album(id),
foreign key (user_id) references user(id),
foreign key (level_id) references level(id)
);
/**
* post_type_id
* 1.- status
* 2.- event
**/
create table post(
id int not null auto_increment primary key,
title varchar(500) ,
content text,
lat double ,
lng double ,
start_at datetime,
finish_at datetime,
receptor_type_id int default 1, /* 1.- user, 2.- group **/
author_ref_id int,
receptor_ref_id int,
level_id int,
post_type_id int default 1,
created_at datetime,
foreign key (level_id) references level(id)
);
create table post_image(
post_id int,
image_id int,
foreign key (post_id) references post(id),
foreign key (image_id) references image(id)
);
/**
* type_id:
* 1.- post
* 2.- image
**/
create table heart(
id int not null auto_increment primary key,
type_id int default 1,
ref_id int,
user_id int,
created_at datetime,
foreign key (user_id) references user(id)
);
create table comment(
id int not null auto_increment primary key,
type_id int,
ref_id int,
user_id int,
content text,
comment_id int,
created_at datetime,
foreign key (user_id) references user(id),
foreign key (comment_id) references comment(id)
);
create table friend(
id int not null auto_increment primary key,
sender_id int,
receptor_id int,
is_accepted boolean default 0,
is_readed boolean default 0,
created_at datetime,
foreign key (sender_id) references user(id),
foreign key (receptor_id) references user(id)
);
create table conversation(
id int not null auto_increment primary key,
sender_id int,
receptor_id int,
created_at datetime,
foreign key (sender_id) references user(id),
foreign key (receptor_id) references user(id)
);
create table message(
id int not null auto_increment primary key,
content text,
user_id int,
conversation_id int,
created_at datetime,
is_readed boolean default 0,
foreign key (user_id) references user(id),
foreign key (conversation_id) references conversation(id)
);
/*
not_type_id:
1.- like, 2.- comment
type:
1.- post, 2.- image
*/
create table notification(
id int not null auto_increment primary key,
not_type_id int,
type_id int,
ref_id int,
receptor_id int,
sender_id int,
is_readed boolean default 0,
created_at datetime,
foreign key (sender_id) references user(id),
foreign key (receptor_id) references user(id)
);
/* para grupos: no puedo usar la palabra reservada group, entonces uso team */
create table team (
id int not null auto_increment primary key,
image varchar(200),
title varchar(200),
description varchar(500) ,
user_id int,
status int default 1 /* 1.- open, 2.- closed */,
created_at datetime,
foreign key (user_id) references user(id)
);