-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDB_TABLES.txt
168 lines (146 loc) · 5.54 KB
/
DB_TABLES.txt
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
--------------------
contact_verification
--------------------
id
contactNumber -> integer
generatedCode -> integer(5 digit)
status -> string('unused', 'used', 'alreadyUsed')
=================================================
sequlize cli command:
npx sequelize-cli model:generate --name contact_verification --attributes phone_number:integer,generated_code:integer,status:text,type:string
=================================================
----------
User
----------
id
profile_type: string('vet', 'vet shop', 'other')
first_name: string
last_name: string
email: string
password: string
cpf: integer
dob: date
gender: string
monday_opening_door: string
monday_closing_door: string
monday_lunch_from: string
monday_lunch_to: string
tuesday_opening_door: string
tuesday_closing_door: string
tuesday_lunch_from: string
tuesday_lunch_to: string
wednesday_opening_door: string
wednesday_closing_door: string
wednesday_lunch_from: string
wednesday_lunch_to: string
thursday_opening_door: string
thursday_closing_door: string
thursday_lunch_from: string
thursday_lunch_to: string
friday_opening_door: string
friday_closing_door: string
friday_lunch_from: string
friday_lunch_to: string
saturday_opening_door: string
saturday_closing_door: string
saturday_lunch_from: string
saturday_lunch_to: string
sunday_opening_door: string
sunday_closing_door: string
sunday_lunch_from: string
sunday_lunch_to: string
interval: string
monday_flag: boolean
monday_schedule: string
tuesday_flag: boolean
tuesday_schedule: string
wednesday_flag: boolean
wednesday_schedule: string
thursday_flag: boolean
thursday_schedule: string
friday_flag: boolean
friday_schedule: string
saturday_flag: boolean
saturday_schedule: string
sunday_flag: boolean
sunday_schedule: string
twenty_four: boolean
home_service: boolean
number_of_customers_per_schedule: integer
=================================================
sequlize cli command:
npx sequelize-cli model:generate --name user --attributes profile_type:string,first_name:string,last_name:string,email:string,password:string,cpf:integer,dob:date,gender:string,monday_opening_door:string,monday_closing_door:string,monday_lunch_from:string,monday_lunch_to:string,tuesday_opening_door:string,tuesday_closing_door:string,tuesday_lunch_from:string,tuesday_lunch_to:string,wednesday_opening_door:string,wednesday_closing_door:string,wednesday_lunch_from:string,wednesday_lunch_to:string,thursday_opening_door:string,thursday_closing_door:string,thursday_lunch_from:string,thursday_lunch_to:string,friday_opening_door:string,friday_closing_door:string,friday_lunch_from:string,friday_lunch_to:string,saturday_opening_door:string,saturday_closing_door:string,saturday_lunch_from:string,saturday_lunch_to:string,sunday_opening_door:string,sunday_closing_door:string,sunday_lunch_from:string,sunday_lunch_to:string,interval:string,monday_flag:boolean,monday_schedule:string,tuesday_flag:boolean,tuesday_schedule:string,wednesday_flag:boolean,wednesday_schedule:string,thursday_flag:boolean,thursday_schedule:string,friday_flag:boolean,friday_schedule:string,saturday_flag:boolean,saturday_schedule:string,sunday_flag:boolean,sunday_schedule:string,twenty_four:boolean,home_service:boolean,number_of_customers_per_schedule:integer
=================================================
--------------
user_metas
-------------
id
user_id
meta_key
meta_value
===========================
sequlize cli command:
npx sequelize-cli model:generate --name user_meta --attributes user_id:integer,meta_key:string,meta_value:text
====================
-----------
services
----------
id
user_id: integer
name: string
category: string
sub_category: string
availability: boolean
price: integer
===========================
sequlize cli command:
npx sequelize-cli model:generate --name post --attributes name:string,category:string,sub_category:string,availability:boolean,price:integer,user_id:integer
====================
--------------
user_associate_appointments
-------------
id
user_id
appointment_id
===========================
sequlize cli command:
npx sequelize-cli model:generate --name user_associate_appointment --attributes user_id:integer,appointment_id:integer
====================
--------------
appointments
-------------
id
app_user_id: integer
user_id: integer
service_id: integer
client_name: string
pet_information: string
pet_image_url: string
when: date
price: integer
appointment_record: string
payment_status: boolean
status: string(pending, confirmed, cancelled)
cancelled_status: string
===========================
sequlize cli command:
npx sequelize-cli model:generate --name post_meta --attributes app_user_id:integer,user_id:integer,service_id:integer,client_name:string,pet_information:string,pet_image_url:string,when:date,price:integer,appointment_record:string,payment_status:boolean,status:string,cancelled_status:string
====================
Run Migrations:
npx sequelize-cli db:migrate
Undo:
npx sequelize-cli db:migrate:undo
Undo All:
npx sequelize-cli db:migrate:undo:all
Other Properties added in migration:
allowNull: false,
unique: true
references: { model: 'users', key: 'id' }
indexing in migration:
return queryInterface.createTable('user_meta', {
// columns...
}).then(() => queryInterface.addIndex('user_meta', ['user_id', 'some_one_else']))
Association added in Models:
user.hasMany(models.user_meta, {foreignKey: 'user_id'});
user_meta.belongsTo(models.user, {foreignKey: 'user_id'});
user.find({ where: { ...}, include: ['user_meta']})