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
RevLine 
[59ed25c]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
[3ebe47c]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
[59ed25c]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
[8615885]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
[59ed25c]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
[8615885]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
[59ed25c]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
[8615885]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
[59ed25c]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
[8615885]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
[59ed25c]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
[8615885]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
[59ed25c]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
[8615885]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
[59ed25c]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),
[8615885]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.