-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSQL.sql
More file actions
173 lines (154 loc) · 3.88 KB
/
Copy pathSQL.sql
File metadata and controls
173 lines (154 loc) · 3.88 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
CREATE TABLE `users` (
id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(255),
phone VARCHAR(20),
birth_day DATE,
role VARCHAR(50)
);
-- Media Table
CREATE TABLE medias (
id INT PRIMARY KEY,
name VARCHAR(255),
type VARCHAR(50),
link VARCHAR(255),
alt_text VARCHAR(255),
description TEXT
);-- RecipeCategory Table
CREATE TABLE recipe_categories (
id INT PRIMARY KEY,
category_type VARCHAR(50),
category_name VARCHAR(255)
);
-- Recipe Table
CREATE TABLE recipes (
id INT PRIMARY KEY,
`source` VARCHAR(255),
name VARCHAR(255),
language VARCHAR(50),
description TEXT,
totalTime VARCHAR(50),
cookTime VARCHAR(50),
prepTime VARCHAR(50),
yield VARCHAR(50),
notes TEXT,
mainImg VARCHAR(255),
recipe_category INT,
FOREIGN KEY (recipe_category) REFERENCES recipe_categories(id)
);
-- Cookbook Table
CREATE TABLE cookbooks (
id INT PRIMARY KEY,
name VARCHAR(255),
date_created DATE,
user_id INT,
image_id INT,
description TEXT,
FOREIGN KEY (user_id) REFERENCES `users`(id),
FOREIGN KEY (image_id) REFERENCES medias(id)
);
-- CookbookRecipe Table
CREATE TABLE cookbook_recipies (
id INT PRIMARY KEY,
cookbook_id INT,
recipe_id INT,
FOREIGN KEY (cookbook_id) REFERENCES cookbooks(id),
FOREIGN KEY (recipe_id) REFERENCES recipies(id)
);
-- GroceryList Table
CREATE TABLE grocery_lists (
id INT PRIMARY KEY,
user_id INT,
date_created DATE,
status VARCHAR(255),
FOREIGN KEY (user_id) REFERENCES `users`(id)
);
-- GroceryListIngredients Table
CREATE TABLE grocery_list_ingredients (
id INT PRIMARY KEY,
groceryList_id INT,
addedBy INT,
ingredient_id INT,
recipe_id INT,
quantity INT,
FOREIGN KEY (groceryList_id) REFERENCES grocery_lists(id),
FOREIGN KEY (ingredient_id) REFERENCES ingredients(id),
FOREIGN KEY (recipe_id) REFERENCES recipies(id)
);
-- MealPlanner Table
CREATE TABLE meal_planners (
id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES `users`(id)
);
-- MealPlannerMeal Table
CREATE TABLE meal_planner_meals (
id INT PRIMARY KEY,
mealPlanner_id INT,
meal_date DATE,
recipe_id INT,
status VARCHAR(255),
FOREIGN KEY (mealPlanner_id) REFERENCES meal_planners(id),
FOREIGN KEY (recipe_id) REFERENCES recipies(id)
);
-- Measure Table
CREATE TABLE measures (
id INT PRIMARY KEY,
unit VARCHAR(50),
unit_type VARCHAR(50)
);
-- MyCabinet Table
CREATE TABLE my_cabinets (
id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES `users`(id)
);
-- MyCabinetIngredients Table
CREATE TABLE my_cabinet_ingredients (
id INT PRIMARY KEY,
myCabinet_id INT,
ingredient_id INT,
ingredient_qty INT,
FOREIGN KEY (myCabinet_id) REFERENCES my_cabinets(id),
FOREIGN KEY (ingredient_id) REFERENCES ingredients(id)
);
-- RecipeIngredient Table
CREATE TABLE recipe_ingredients (
id INT PRIMARY KEY,
recipe_id INT,
ingredient_id INT,
quantity INT,
FOREIGN KEY (recipe_id) REFERENCES recipies(id),
FOREIGN KEY (ingredient_id) REFERENCES ingredients(id)
);
-- RecipeStep Table
CREATE TABLE recipe_steps (
id INT PRIMARY KEY,
recipe_id INT,
step_order INT,
text TEXT,
media_id INT,
FOREIGN KEY (recipe_id) REFERENCES recipies(id),
FOREIGN KEY (media_id) REFERENCES medias(id)
);
-- Translation Table
CREATE TABLE translations (
id INT PRIMARY KEY,
`table` VARCHAR(255),
`language` VARCHAR(50),
item_id INT,
translation TEXT,
FOREIGN KEY (item_id) REFERENCES recipies(id)
);
-- UserSettings Table
CREATE TABLE user_settings (
id INT PRIMARY KEY,
user_id INT,
theme VARCHAR(50),
language VARCHAR(50),
units VARCHAR(50),
diet VARCHAR(50),
preference VARCHAR(50),
FOREIGN KEY (user_id) REFERENCES `users`(id)
);