source: db-scripts/dml.sql@ 8615885

Last change on this file since 8615885 was 8615885, checked in by Andrej <asumanovski@…>, 5 months ago

Made all models

  • Property mode set to 100644
File size: 14.9 KB
Line 
1SET search_path TO trekr;
2
3INSERT INTO USERS (user_id, email, username, password) VALUES
4(1, 'dimitar@example.com', 'dimitar_arsov', '$2a$10$examplehash1'),
5(2, 'filip@example.com', 'filip_gavrilovski', '$2a$10$examplehash2'),
6(3, 'marko@example.com', 'marko_markovski', '$2a$10$examplehash3'),
7(4, 'andrej.shumanovski@gmail.com', 'andrej_shumanovski', '1234'),
8(5, 'angelovski.mario222@gmail.com', 'angelovski_mario', '1234'),
9(6, 'ana@example.com', 'ana_ilievska', '$2a$10$examplehash6'),
10(7, 'petar@example.com', 'petar_stojanov', '$2a$10$examplehash7'),
11(8, 'elena@example.com', 'elena_ristova', '$2a$10$examplehash8'),
12(9, 'stefan@example.com', 'stefan_nikolov', '$2a$10$examplehash9'),
13(10, 'ivana@example.com', 'ivana_karapandzova', '$2a$10$examplehash10'),
14(11, 'nikola@example.com', 'nikola_ivanov', '1234'),
15(12, 'marija@example.com', 'marija_petrova', '1234'),
16(13, 'viktor@example.com', 'viktor_stojkov', '1234'),
17(14, 'katerina@example.com', 'katerina_ristevska', '1234'),
18(15, 'jovan@example.com', 'jovan_mitev', '1234'),
19(16, 'teodora@example.com', 'teodora_angelova', '1234'),
20(17, 'bojan@example.com', 'bojan_popov', '1234'),
21(18, 'sara@example.com', 'sara_karovska', '1234'),
22(19, 'aleksandar@example.com', 'aleksandar_dimitrov', '1234'),
23(20, 'milena@example.com', 'milena_stefanovska', '1234'),
24(21, 'goran@example.com', 'goran_iliev', '1234'),
25(22, 'kristina@example.com', 'kristina_georgieva', '1234'),
26(23, 'martin@example.com', 'martin_danev', '1234'),
27(24, 'ema@example.com', 'ema_spasovska', '1234'),
28(25, 'daniel@example.com', 'daniel_nikolov', '1234'),
29(26, 'irena@example.com', 'irena_jovanovska', '1234'),
30(27, 'stojan@example.com', 'stojan_tasev', '1234'),
31(28, 'vanja@example.com', 'vanja_trajkovska', '1234'),
32(29, 'petra@example.com', 'petra_kostova', '1234'),
33(30, 'vlado@example.com', 'vlado_ilievski', '1234');
34
35-- If USERS.user_id is an IDENTITY column, ensure its backing sequence is advanced
36-- past the inserted dummy ids so future inserts (e.g., app registration) don't
37-- try to reuse ids and fail with duplicate key errors.
38SELECT setval(
39 pg_get_serial_sequence('trekr.users', 'user_id'),
40 (SELECT COALESCE(MAX(user_id), 0) FROM trekr.users)
41);
42
43INSERT INTO FINANCE_USERS (user_id, spending_budget, saving_budget, investing_budget, donation_budget, credit) VALUES
44(1, 500, 200, 300, 50, 1000),
45(2, 600, 250, 200, 30, 500),
46(3, 400, 150, 250, 20, 0),
47(4, 1000, 500, 500, 100, 2000),
48(5, 700, 300, 200, 40, 800),
49(6, 450, 150, 150, 20, 200),
50(7, 900, 350, 250, 60, 1200),
51(8, 550, 200, 300, 25, 0),
52(9, 800, 300, 400, 50, 1500),
53(10, 650, 250, 200, 30, 400),
54(11, 750, 250, 200, 25, 600),
55(12, 520, 220, 180, 15, 300),
56(13, 900, 400, 350, 40, 1500),
57(14, 480, 180, 120, 10, 200),
58(15, 1100, 500, 450, 70, 2500),
59(16, 650, 250, 200, 20, 400),
60(17, 700, 260, 240, 25, 850),
61(18, 560, 210, 160, 15, 150),
62(19, 980, 420, 380, 55, 1800),
63(20, 600, 230, 220, 20, 500),
64(21, 430, 160, 120, 10, 0),
65(22, 820, 330, 260, 35, 1100),
66(23, 740, 290, 240, 30, 700),
67(24, 500, 200, 150, 15, 250),
68(25, 1200, 550, 500, 80, 3000);
69
70INSERT INTO INCOMES (income_id, user_id, date, amount) VALUES
71(1, 1, '2026-01-01', 2000),
72(2, 2, '2026-01-03', 1800),
73(3, 3, '2026-01-05', 2200),
74(4, 4, '2026-01-07', 5000),
75(5, 5, '2026-01-08', 3200),
76(6, 6, '2026-01-10', 1600),
77(7, 7, '2026-01-12', 4100),
78(8, 8, '2026-01-14', 2300),
79(9, 9, '2026-01-16', 3700),
80(10, 10, '2026-01-18', 1900),
81(11, 11, '2026-02-01', 2600),
82(12, 11, '2026-03-01', 2600),
83(13, 12, '2026-02-03', 2100),
84(14, 12, '2026-03-03', 2150),
85(15, 13, '2026-02-05', 3300),
86(16, 13, '2026-03-05', 3400),
87(17, 14, '2026-02-07', 1900),
88(18, 14, '2026-03-07', 1950),
89(19, 15, '2026-02-09', 5200),
90(20, 15, '2026-03-09', 5200),
91(21, 16, '2026-02-11', 2400),
92(22, 16, '2026-03-11', 2450),
93(23, 17, '2026-02-13', 2700),
94(24, 17, '2026-03-13', 2750),
95(25, 18, '2026-02-15', 2200),
96(26, 18, '2026-03-15', 2250),
97(27, 19, '2026-02-17', 4100),
98(28, 19, '2026-03-17', 4150),
99(29, 20, '2026-02-19', 2500),
100(30, 20, '2026-03-19', 2550),
101(31, 21, '2026-02-21', 1600),
102(32, 22, '2026-02-23', 2900),
103(33, 22, '2026-03-23', 2950),
104(34, 23, '2026-02-25', 2750),
105(35, 23, '2026-03-25', 2800),
106(36, 24, '2026-02-27', 2050),
107(37, 24, '2026-03-27', 2100),
108(38, 25, '2026-02-28', 6000),
109(39, 25, '2026-03-28', 6050);
110
111-- If INCOMES.income_id is an IDENTITY column, advance its sequence past dummy ids.
112SELECT setval(
113 pg_get_serial_sequence('trekr.incomes', 'income_id'),
114 (SELECT COALESCE(MAX(income_id), 0) FROM trekr.incomes)
115);
116
117INSERT INTO TRAINING_USERS (user_id, gender, age, weight) VALUES
118(1, 'Male', 21, 73),
119(2, 'Male', 23, 80),
120(3, 'Male', 22, 78),
121(4, 'Female', 25, 65),
122(5, 'Male', 24, 86),
123(6, 'Female', 22, 58),
124(7, 'Male', 28, 92),
125(8, 'Female', 26, 70),
126(9, 'Male', 30, 83),
127(10, 'Female', 21, 62),
128(11, 'Male', 27, 82),
129(12, 'Female', 24, 61),
130(13, 'Male', 29, 90),
131(14, 'Female', 23, 57),
132(15, 'Male', 31, 88),
133(16, 'Female', 28, 66),
134(17, 'Male', 26, 76),
135(18, 'Female', 22, 55),
136(19, 'Male', 33, 94),
137(20, 'Female', 30, 69);
138
139INSERT INTO WEIGHT_USERS (user_id, weight, height, goal_weight, goal_calories) VALUES
140(1, 73, 181, 70, 2500),
141(2, 80, 185, 75, 2600),
142(3, 78, 180, 74, 2400),
143(4, 65, 170, 60, 2000),
144(5, 86, 188, 80, 2800),
145(6, 58, 165, 55, 1900),
146(7, 92, 190, 85, 3000),
147(8, 70, 172, 66, 2100),
148(9, 83, 179, 78, 2500),
149(10, 62, 168, 58, 2000),
150(11, 82, 183, 78, 2600),
151(12, 61, 169, 58, 2000),
152(13, 90, 191, 85, 2900),
153(14, 57, 164, 55, 1900),
154(15, 88, 186, 82, 2800),
155(16, 66, 172, 62, 2100),
156(17, 76, 179, 72, 2500),
157(18, 55, 162, 53, 1850),
158(19, 94, 193, 88, 3100),
159(20, 69, 173, 65, 2200);
160
161INSERT INTO DAILY_INTAKES (daily_intake_id, user_id, calories, date) VALUES
162(1, 1, 2400, '2026-02-01'),
163(2, 2, 2500, '2026-02-01'),
164(3, 3, 2300, '2026-02-01'),
165(4, 4, 2100, '2026-02-02'),
166(5, 5, 2750, '2026-02-02'),
167(6, 6, 1850, '2026-02-02'),
168(7, 7, 2950, '2026-02-03'),
169(8, 8, 2050, '2026-02-03'),
170(9, 9, 2450, '2026-02-03'),
171(10, 10, 1950, '2026-02-04'),
172(11, 11, 2550, '2026-02-05'),
173(12, 11, 2450, '2026-02-06'),
174(13, 12, 1980, '2026-02-05'),
175(14, 12, 2050, '2026-02-06'),
176(15, 13, 2850, '2026-02-06'),
177(16, 13, 2950, '2026-02-07'),
178(17, 14, 1850, '2026-02-06'),
179(18, 14, 1900, '2026-02-07'),
180(19, 15, 2700, '2026-02-07'),
181(20, 15, 2750, '2026-02-08'),
182(21, 16, 2150, '2026-02-07'),
183(22, 16, 2250, '2026-02-08'),
184(23, 17, 2400, '2026-02-08'),
185(24, 17, 2500, '2026-02-09'),
186(25, 18, 1800, '2026-02-08'),
187(26, 18, 1900, '2026-02-09'),
188(27, 19, 3000, '2026-02-09'),
189(28, 19, 3100, '2026-02-10'),
190(29, 20, 2200, '2026-02-09'),
191(30, 20, 2300, '2026-02-10');
192
193-- If DAILY_INTAKES.daily_intake_id is an IDENTITY column, advance its sequence past dummy ids.
194SELECT setval(
195 pg_get_serial_sequence('trekr.daily_intakes', 'daily_intake_id'),
196 (SELECT COALESCE(MAX(daily_intake_id), 0) FROM trekr.daily_intakes)
197);
198
199INSERT INTO TRAINING_SESSIONS (training_id, training_user_id, weight_user_id, duration, calories, date, type) VALUES
200(1, 1, 1, 60, 500, '2026-02-01', 'Running'),
201(2, 2, 2, 45, 400, '2026-02-01', 'Cycling'),
202(3, 3, 3, 30, 300, '2026-02-01', 'Swimming'),
203(4, 4, 4, 50, 420, '2026-02-02', 'HIIT'),
204(5, 5, 5, 40, 350, '2026-02-02', 'Strength'),
205(6, 6, 6, 35, 280, '2026-02-02', 'Yoga'),
206(7, 7, 7, 55, 520, '2026-02-03', 'Running'),
207(8, 8, 8, 45, 390, '2026-02-03', 'Cycling'),
208(9, 9, 9, 30, 260, '2026-02-03', 'Rowing'),
209(10, 10, 10, 60, 480, '2026-02-04', 'Swimming'),
210(11, 11, 11, 50, 430, '2026-02-05', 'Strength'),
211(12, 12, 12, 40, 310, '2026-02-05', 'Yoga'),
212(13, 13, 13, 60, 540, '2026-02-06', 'Running'),
213(14, 14, 14, 35, 260, '2026-02-06', 'Pilates'),
214(15, 15, 15, 45, 390, '2026-02-07', 'Cycling'),
215(16, 16, 16, 55, 460, '2026-02-07', 'HIIT'),
216(17, 17, 17, 30, 240, '2026-02-08', 'Rowing'),
217(18, 18, 18, 65, 520, '2026-02-08', 'Swimming'),
218(19, 19, 19, 50, 440, '2026-02-09', 'Running'),
219(20, 20, 20, 45, 370, '2026-02-09', 'Strength'),
220(21, 11, 11, 35, 300, '2026-02-12', 'Cycling'),
221(22, 13, 13, 30, 260, '2026-02-12', 'Core'),
222(23, 15, 15, 70, 600, '2026-02-13', 'Long Run'),
223(24, 17, 17, 40, 320, '2026-02-13', 'Strength');
224
225-- If TRAINING_SESSIONS.training_id is an IDENTITY column, advance its sequence past dummy ids.
226SELECT setval(
227 pg_get_serial_sequence('trekr.training_sessions', 'training_id'),
228 (SELECT COALESCE(MAX(training_id), 0) FROM trekr.training_sessions)
229);
230
231INSERT INTO DISCIPLINE_USERS (user_id, num_tasks, tasks) VALUES
232(1, 2, '["Morning Run","Read Book"]'),
233(2, 1, '["Meditation"]'),
234(3, 3, '["Plan Day","No Sugar","Stretch"]'),
235(4, 2, '["Drink Water","Walk 8k Steps"]'),
236(5, 2, '["Journal","Gym"]'),
237(6, 1, '["Study 1h"]'),
238(7, 2, '["Stretch 10m","No Soda"]'),
239(8, 2, '["Walk 30m","Sleep 7h"]'),
240(9, 3, '["Read 20p","Meditate","No Sugar"]'),
241(10, 1, '["Drink Water"]'),
242(11, 3, '["Morning Run","Plan Day","Study 1h"]'),
243(12, 2, '["Yoga","Cook Healthy"]'),
244(13, 2, '["Gym","Protein Target"]'),
245(14, 2, '["Journal","Early Bed"]'),
246(15, 3, '["Duolingo","No Alcohol","Walk 8k Steps"]');
247
248INSERT INTO CUSTOM_TRACKING_CATEGORIES (custom_tracking_id, user_id, name, num_tasks, tasks) VALUES
249(1, 1, 'Project Trekr', 2, '["Code Review","Push Updates"]'),
250(2, 2, 'Language Learning', 2, '["Duolingo","Watch Lesson"]'),
251(3, 3, 'Side Hustle', 3, '["Client Outreach","Build Feature","Invoice"]'),
252(4, 5, 'Fitness Plan', 2, '["Protein Target","Sleep 8h"]'),
253(5, 6, 'Exam Prep', 2, '["Practice Problems","Review Notes"]'),
254(6, 11, 'University', 3, '["Attend Lecture","Solve Tasks","Review"]'),
255(7, 12, 'Health', 2, '["Steps","Water"]'),
256(8, 13, 'Startup', 3, '["Pitch","Build","Ship"]'),
257(9, 14, 'Cooking', 2, '["Meal Prep","Groceries"]'),
258(10, 15, 'Reading List', 2, '["Read Fiction","Read Nonfiction"]'),
259(11, 16, 'Work Sprint', 3, '["Standup","Tickets","PR Review"]'),
260(12, 17, 'Finance Goals', 2, '["Track Expenses","Invest"]'),
261(13, 18, 'Language', 2, '["Duolingo","Podcast"]'),
262(14, 19, 'Gym Program', 3, '["Squat","Bench","Deadlift"]'),
263(15, 20, 'Exam Prep', 3, '["Practice","Mock","Review"]');
264
265-- If CUSTOM_TRACKING_CATEGORIES.custom_tracking_id is an IDENTITY column, advance its sequence past dummy ids.
266SELECT setval(
267 pg_get_serial_sequence('trekr.custom_tracking_categories', 'custom_tracking_id'),
268 (SELECT COALESCE(MAX(custom_tracking_id), 0) FROM trekr.custom_tracking_categories)
269);
270
271INSERT INTO TASKS (task_id, name, is_finished, discipline_user_id, custom_tracking_id) VALUES
272(1, 'Morning Run', FALSE, 1, NULL),
273(2, 'Read Book', FALSE, 1, NULL),
274(3, 'Meditation', FALSE, 2, NULL),
275(4, 'Code Review', FALSE, NULL, 1),
276(5, 'Push Updates', FALSE, NULL, 1),
277(6, 'Plan Day', FALSE, 3, NULL),
278(7, 'No Sugar', FALSE, 3, NULL),
279(8, 'Stretch', FALSE, 3, NULL),
280(9, 'Drink Water', FALSE, 4, NULL),
281(10, 'Walk 8k Steps', FALSE, 4, NULL),
282(11, 'Journal', FALSE, 5, NULL),
283(12, 'Gym', FALSE, 5, NULL),
284(13, 'Duolingo', FALSE, NULL, 2),
285(14, 'Watch Lesson', FALSE, NULL, 2),
286(15, 'Practice Problems', FALSE, NULL, 5),
287(16, 'Stretch 10m', FALSE, 7, NULL),
288(17, 'No Soda', FALSE, 7, NULL),
289(18, 'Walk 30m', FALSE, 8, NULL),
290(19, 'Sleep 7h', FALSE, 8, NULL),
291(20, 'Read 20p', FALSE, 9, NULL),
292(21, 'Meditate', FALSE, 9, NULL),
293(22, 'No Sugar', FALSE, 9, NULL),
294(23, 'Drink Water', FALSE, 10, NULL),
295(24, 'Morning Run', FALSE, 11, NULL),
296(25, 'Plan Day', FALSE, 11, NULL),
297(26, 'Study 1h', FALSE, 11, NULL),
298(27, 'Yoga', FALSE, 12, NULL),
299(28, 'Cook Healthy', FALSE, 12, NULL),
300(29, 'Gym', FALSE, 13, NULL),
301(30, 'Protein Target', FALSE, 13, NULL),
302(31, 'Journal', FALSE, 14, NULL),
303(32, 'Early Bed', FALSE, 14, NULL),
304(33, 'Duolingo', FALSE, 15, NULL),
305(34, 'No Alcohol', FALSE, 15, NULL),
306(35, 'Walk 8k Steps', FALSE, 15, NULL),
307(36, 'Attend Lecture', FALSE, NULL, 6),
308(37, 'Solve Tasks', FALSE, NULL, 6),
309(38, 'Review', FALSE, NULL, 6),
310(39, 'Steps', FALSE, NULL, 7),
311(40, 'Water', FALSE, NULL, 7),
312(41, 'Pitch', FALSE, NULL, 8),
313(42, 'Build', FALSE, NULL, 8),
314(43, 'Ship', FALSE, NULL, 8),
315(44, 'Meal Prep', FALSE, NULL, 9),
316(45, 'Groceries', FALSE, NULL, 9),
317(46, 'Read Fiction', FALSE, NULL, 10),
318(47, 'Read Nonfiction', FALSE, NULL, 10),
319(48, 'Standup', FALSE, NULL, 11),
320(49, 'Tickets', FALSE, NULL, 11),
321(50, 'PR Review', FALSE, NULL, 11),
322(51, 'Track Expenses', FALSE, NULL, 12),
323(52, 'Invest', FALSE, NULL, 12),
324(53, 'Duolingo Session', FALSE, NULL, 13),
325(54, 'Podcast', FALSE, NULL, 13),
326(55, 'Squat', FALSE, NULL, 14),
327(56, 'Bench', FALSE, NULL, 14),
328(57, 'Deadlift', FALSE, NULL, 14),
329(58, 'Practice', FALSE, NULL, 15),
330(59, 'Mock', FALSE, NULL, 15),
331(60, 'Review Exam', FALSE, NULL, 15);
332
333-- If TASKS.task_id is an IDENTITY column, advance its sequence past dummy ids.
334SELECT setval(
335 pg_get_serial_sequence('trekr.tasks', 'task_id'),
336 (SELECT COALESCE(MAX(task_id), 0) FROM trekr.tasks)
337);
338
339INSERT INTO DAILY_COMPLETION (daily_completion_id, user_id, date, procent) VALUES
340(1, 1, '2026-02-01', 100),
341(2, 2, '2026-02-01', 50),
342(3, 3, '2026-02-01', 67),
343(4, 4, '2026-02-01', 50),
344(5, 5, '2026-02-02', 100),
345(6, 6, '2026-02-02', 0),
346(7, 7, '2026-02-03', 80),
347(8, 8, '2026-02-03', 60),
348(9, 9, '2026-02-03', 40),
349(10, 10, '2026-02-04', 90),
350(11, 11, '2026-02-05', 66),
351(12, 11, '2026-02-06', 33),
352(13, 12, '2026-02-05', 50),
353(14, 12, '2026-02-06', 100),
354(15, 13, '2026-02-06', 67),
355(16, 13, '2026-02-07', 34),
356(17, 14, '2026-02-06', 50),
357(18, 14, '2026-02-07', 50),
358(19, 15, '2026-02-07', 67),
359(20, 15, '2026-02-08', 33),
360(21, 16, '2026-02-07', 34),
361(22, 16, '2026-02-08', 67),
362(23, 17, '2026-02-08', 50),
363(24, 17, '2026-02-09', 50),
364(25, 18, '2026-02-08', 100),
365(26, 18, '2026-02-09', 50),
366(27, 19, '2026-02-09', 67),
367(28, 19, '2026-02-10', 34),
368(29, 20, '2026-02-09', 33),
369(30, 20, '2026-02-10', 66);
370
371-- If DAILY_COMPLETION.daily_completion_id is an IDENTITY column, advance its sequence past dummy ids.
372SELECT setval(
373 pg_get_serial_sequence('trekr.daily_completion', 'daily_completion_id'),
374 (SELECT COALESCE(MAX(daily_completion_id), 0) FROM trekr.daily_completion)
375);
376
377INSERT INTO TASK_DAILY_COMPLETION (task_id, daily_completion_id) VALUES
378(1, 1),
379(2, 1),
380(3, 2),
381(6, 3),
382(7, 3),
383(9, 4),
384(11, 5),
385(12, 5),
386(13, 8),
387(14, 8),
388(15, 10),
389(24, 11),
390(25, 11),
391(27, 13),
392(28, 14),
393(41, 15),
394(42, 15),
395(44, 17),
396(45, 18),
397(33, 19),
398(34, 19),
399(51, 22),
400(52, 22),
401(39, 23),
402(40, 24),
403(53, 25),
404(54, 26),
405(55, 27),
406(56, 27),
407(57, 28),
408(58, 30);
409
410INSERT INTO INVESTOR_USERS (user_id) VALUES
411(1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12), (13), (14), (15);
412
413INSERT INTO ASSETS (asset_id, user_id, ticker_symbol, buy_price, buy_date, quantity) VALUES
414(1, 1, 'AAPL', 150, '2026-01-01', 1.5),
415(2, 1, 'TSLA', 700, '2026-01-10', 2),
416(3, 2, 'GOOGL', 2800, '2026-01-15', 1),
417(4, 3, 'MSFT', 320, '2026-01-20', 1),
418(5, 4, 'AMZN', 155, '2026-01-22', 1),
419(6, 5, 'NVDA', 610, '2026-01-25', 1),
420(7, 6, 'SPY', 480, '2026-01-28', 1),
421(8, 1, 'ETH', 2400, '2026-01-30', 1),
422(9, 7, 'KO', 58, '2026-02-02', 10),
423(10, 8, 'V', 245, '2026-02-03', 3),
424(11, 9, 'NFLX', 610, '2026-02-04', 1),
425(12, 10, 'DIS', 110, '2026-02-05', 4),
426(13, 11, 'AAPL', 155, '2026-02-06', 2),
427(14, 12, 'MSFT', 330, '2026-02-07', 1.2),
428(15, 13, 'TSLA', 720, '2026-02-08', 0.8),
429(16, 14, 'SPY', 485, '2026-02-09', 1.5),
430(17, 15, 'NVDA', 640, '2026-02-10', 0.9);
431
432-- If ASSETS.asset_id is an IDENTITY column, advance its sequence past dummy ids.
433SELECT setval(
434 pg_get_serial_sequence('trekr.assets', 'asset_id'),
435 (SELECT COALESCE(MAX(asset_id), 0) FROM trekr.assets)
436);
Note: See TracBrowser for help on using the repository browser.