| 1 | BEGIN;
|
|---|
| 2 |
|
|---|
| 3 | TRUNCATE table
|
|---|
| 4 | booking_services,
|
|---|
| 5 | sitter_services,
|
|---|
| 6 | booking_pets,
|
|---|
| 7 | admin_management,
|
|---|
| 8 | payments,
|
|---|
| 9 | reviews,
|
|---|
| 10 | bookings,
|
|---|
| 11 | services,
|
|---|
| 12 | pets,
|
|---|
| 13 | pet_types,
|
|---|
| 14 | pet_sitters,
|
|---|
| 15 | pet_owners,
|
|---|
| 16 | admins,
|
|---|
| 17 | users
|
|---|
| 18 | CASCADE;
|
|---|
| 19 |
|
|---|
| 20 | INSERT INTO users (username, first_name, last_name, password, email) VALUES
|
|---|
| 21 | ('admin_darko', 'Darko', 'Trajkovski', '$2a$10$hashed_pw_darko', 'darko.admin@petsitter.mk'),
|
|---|
| 22 | ('owner_bojan', 'Bojan', 'Jovanovski', '$2a$10$hashed_pw_bojan', 'bojan.jovanovski@email.com'),
|
|---|
| 23 | ('owner_vesna', 'Vesna', 'Petkovska', '$2a$10$hashed_pw_vesna', 'vesna.petkovska@email.com'),
|
|---|
| 24 | ('sitter_filip', 'Filip', 'Nikolovski', '$2a$10$hashed_pw_filip', 'filip.sitter@email.com'),
|
|---|
| 25 | ('sitter_lile', 'Liljana', 'Ilievska', '$2a$10$hashed_pw_lile', 'lile.sitter@email.com'),
|
|---|
| 26 | ('owner_marko', 'Marko', 'Markovski', '$2a$10$hashed_pw_marko', 'marko.markovski@email.com'),
|
|---|
| 27 | ('owner_elena', 'Elena', 'Ristevska', '$2a$10$hashed_pw_elena', 'elena.ristevska@email.com'),
|
|---|
| 28 | ('owner_nikola', 'Nikola', 'Stojanov', '$2a$10$hashed_pw_nikola', 'nikola.stojanov@email.com'),
|
|---|
| 29 | ('sitter_ana', 'Ana', 'Trajkovska', '$2a$10$hashed_pw_ana', 'ana.trajkovska@email.com'),
|
|---|
| 30 | ('sitter_stefan', 'Stefan', 'Ilioski', '$2a$10$hashed_pw_stefan', 'stefan.ilioski@email.com');
|
|---|
| 31 |
|
|---|
| 32 | INSERT INTO pet_types (species, average_lifespan, needs_outdoor_walk) VALUES
|
|---|
| 33 | ('Dog', 13, TRUE),
|
|---|
| 34 | ('Cat', 15, FALSE),
|
|---|
| 35 | ('Rabbit', 9, FALSE);
|
|---|
| 36 |
|
|---|
| 37 | INSERT INTO services (type, description) VALUES
|
|---|
| 38 | ('Dog Walking', 'A 30 minute walk around the neighborhood.'),
|
|---|
| 39 | ('Overnight Stay', 'Pet sitting at the owners house and staying overnight.'),
|
|---|
| 40 | ('Short Visit', 'A 30 minute visit for feeding and playtime.');
|
|---|
| 41 |
|
|---|
| 42 | INSERT INTO admins (user_id)
|
|---|
| 43 | SELECT user_id FROM users WHERE username = 'admin_darko';
|
|---|
| 44 |
|
|---|
| 45 | INSERT INTO pet_owners (user_id)
|
|---|
| 46 | SELECT user_id FROM users WHERE username IN ('owner_bojan', 'owner_vesna', 'owner_marko', 'owner_elena', 'owner_nikola');
|
|---|
| 47 |
|
|---|
| 48 | INSERT INTO pet_sitters (user_id)
|
|---|
| 49 | SELECT user_id FROM users WHERE username IN ('sitter_filip', 'sitter_lile', 'sitter_ana', 'sitter_stefan');
|
|---|
| 50 |
|
|---|
| 51 | INSERT INTO pets (name, photo, age, special_needs, description, owner_id, pettype_id) VALUES
|
|---|
| 52 | (
|
|---|
| 53 | 'Leo', 'https://t3.ftcdn.net/jpg/01/72/07/44/360_F_172074409_hADHhLMTjELdx0cMkycnzYFZZZz4OYbv.jpg', 3, 'Allergic to chicken', 'Very friendly golden retriever',
|
|---|
| 54 | (SELECT user_id FROM users WHERE username = 'owner_bojan'),
|
|---|
| 55 | (SELECT pettype_id FROM pet_types WHERE species = 'Dog')
|
|---|
| 56 | ),
|
|---|
| 57 | (
|
|---|
| 58 | 'Dante', 'https://thumbs.dreamstime.com/b/beautiful-cat-isolated-white-background-44369507.jpg', 5, NULL, 'Loves to sleep in the sun',
|
|---|
| 59 | (SELECT user_id FROM users WHERE username = 'owner_vesna'),
|
|---|
| 60 | (SELECT pettype_id FROM pet_types WHERE species = 'Cat')
|
|---|
| 61 | ),
|
|---|
| 62 | (
|
|---|
| 63 | 'Rex', 'https://smartcdn.gprod.postmedia.digital/ocanada/wp-content/uploads/2019/10/rex_d04_ep102_ddy_0251.jpg', 4, NULL, 'Very energetic and loves fetch',
|
|---|
| 64 | (SELECT user_id FROM users WHERE username = 'owner_marko'),
|
|---|
| 65 | (SELECT pettype_id FROM pet_types WHERE species = 'Dog')
|
|---|
| 66 | ),
|
|---|
| 67 | (
|
|---|
| 68 | 'Bela', 'https://www.noina-arka.hr/wp-content/uploads/2020/11/Bella_maltezer_1-800x600.jpg', 2, 'Needs anxiety meds during storms', 'Quiet and shy dog',
|
|---|
| 69 | (SELECT user_id FROM users WHERE username = 'owner_marko'),
|
|---|
| 70 | (SELECT pettype_id FROM pet_types WHERE species = 'Dog')
|
|---|
| 71 | ),
|
|---|
| 72 | (
|
|---|
| 73 | 'Luna', 'https://www.shutterstock.com/image-photo/domestic-cat-on-white-background-260nw-2502238361.jpg', 3, 'Picky eater', 'Lazy and cuddly cat',
|
|---|
| 74 | (SELECT user_id FROM users WHERE username = 'owner_elena'),
|
|---|
| 75 | (SELECT pettype_id FROM pet_types WHERE species = 'Cat')
|
|---|
| 76 | ),
|
|---|
| 77 | (
|
|---|
| 78 | 'Kiko', 'https://media.istockphoto.com/id/879402334/photo/cute-bunny-on-the-sofa.jpg?s=612x612&w=0&k=20&c=zVo7bFe3k6W-jkxTRiVWN21vrsuwWwOj4ZZnpT9eQ20=', 1, NULL, 'Fast and curious rabbit',
|
|---|
| 79 | (SELECT user_id FROM users WHERE username = 'owner_elena'),
|
|---|
| 80 | (SELECT pettype_id FROM pet_types WHERE species = 'Rabbit')
|
|---|
| 81 | ),
|
|---|
| 82 | (
|
|---|
| 83 | 'Max', 'https://thumbs.dreamstime.com/b/wolfhound-dog-turkish-shepherd-man-s-friend-kangal-236669444.jpg', 6, NULL, 'Strong and protective dog',
|
|---|
| 84 | (SELECT user_id FROM users WHERE username = 'owner_nikola'),
|
|---|
| 85 | (SELECT pettype_id FROM pet_types WHERE species = 'Dog')
|
|---|
| 86 | );
|
|---|
| 87 |
|
|---|
| 88 | INSERT INTO bookings (status, date_from, date_to, address, owner_id, sitter_id) VALUES
|
|---|
| 89 | (
|
|---|
| 90 | 'Completed', '2026-05-01', '2026-05-02', 'bul. Partizanski Odredi br. 50, Skopje',
|
|---|
| 91 | (SELECT user_id FROM users WHERE username = 'owner_bojan'),
|
|---|
| 92 | (SELECT user_id FROM users WHERE username = 'sitter_filip')
|
|---|
| 93 | ),
|
|---|
| 94 | (
|
|---|
| 95 | 'Confirmed', '2026-06-10', '2026-06-15', 'ul. Leninova br. 25, Skopje',
|
|---|
| 96 | (SELECT user_id FROM users WHERE username = 'owner_vesna'),
|
|---|
| 97 | (SELECT user_id FROM users WHERE username = 'sitter_lile')
|
|---|
| 98 | ),
|
|---|
| 99 | (
|
|---|
| 100 | 'Completed', '2026-07-01', '2026-07-02', 'ul. Borka Taleski br. 1, Skopje',
|
|---|
| 101 | (SELECT user_id FROM users WHERE username = 'owner_marko'),
|
|---|
| 102 | (SELECT user_id FROM users WHERE username = 'sitter_ana')
|
|---|
| 103 | ),
|
|---|
| 104 | (
|
|---|
| 105 | 'Confirmed', '2026-07-10', '2026-07-12', 'ul. Ruger Boskovik br. 16, Skopje',
|
|---|
| 106 | (SELECT user_id FROM users WHERE username = 'owner_elena'),
|
|---|
| 107 | (SELECT user_id FROM users WHERE username = 'sitter_stefan')
|
|---|
| 108 | ),
|
|---|
| 109 | (
|
|---|
| 110 | 'Completed', '2026-08-05', '2026-08-06', 'ul. Orce Nikolov br. 136, Skopje',
|
|---|
| 111 | (SELECT user_id FROM users WHERE username = 'owner_nikola'),
|
|---|
| 112 | (SELECT user_id FROM users WHERE username = 'sitter_ana')
|
|---|
| 113 | ),
|
|---|
| 114 | (
|
|---|
| 115 | 'Completed', '2026-08-15', '2026-08-16', 'ul. Jurij Gagarin br. 15, Skopje',
|
|---|
| 116 | (SELECT user_id FROM users WHERE username = 'owner_marko'),
|
|---|
| 117 | (SELECT user_id FROM users WHERE username = 'sitter_filip')
|
|---|
| 118 | ),
|
|---|
| 119 | (
|
|---|
| 120 | 'Confirmed', '2026-09-01', '2026-09-05', 'bul. ASNOM br. 47, Skopje',
|
|---|
| 121 | (SELECT user_id FROM users WHERE username = 'owner_elena'),
|
|---|
| 122 | (SELECT user_id FROM users WHERE username = 'sitter_lile')
|
|---|
| 123 | );
|
|---|
| 124 |
|
|---|
| 125 | INSERT INTO reviews (rating, comment, booking_id) VALUES
|
|---|
| 126 | (
|
|---|
| 127 | 5, 'Filip was great with Leo! Highly recommend.',
|
|---|
| 128 | (SELECT booking_id FROM bookings WHERE address = 'bul. Partizanski Odredi br. 50, Skopje')
|
|---|
| 129 | ),
|
|---|
| 130 | (
|
|---|
| 131 | 4, 'Ana was wonderful with Rex, but arrived a bit late.',
|
|---|
| 132 | (SELECT booking_id FROM bookings WHERE address = 'ul. Borka Taleski br. 1, Skopje')
|
|---|
| 133 | ),
|
|---|
| 134 | (
|
|---|
| 135 | 5, 'Max loved his time with Ana. Will book again!',
|
|---|
| 136 | (SELECT booking_id FROM bookings WHERE address = 'ul. Orce Nikolov br. 136, Skopje')
|
|---|
| 137 | ),
|
|---|
| 138 | (
|
|---|
| 139 | 5, 'Filip is a true professional. Bela was very calm with him.',
|
|---|
| 140 | (SELECT booking_id FROM bookings WHERE address = 'ul. Jurij Gagarin br. 15, Skopje')
|
|---|
| 141 | );
|
|---|
| 142 |
|
|---|
| 143 | INSERT INTO payments (amount, payment_type, booking_id) VALUES
|
|---|
| 144 | (
|
|---|
| 145 | 1500, 'Credit Card',
|
|---|
| 146 | (SELECT booking_id FROM bookings WHERE address = 'bul. Partizanski Odredi br. 50, Skopje')
|
|---|
| 147 | ),
|
|---|
| 148 | (
|
|---|
| 149 | 4000, 'Cash',
|
|---|
| 150 | (SELECT booking_id FROM bookings WHERE address = 'ul. Leninova br. 25, Skopje')
|
|---|
| 151 | ),
|
|---|
| 152 | (
|
|---|
| 153 | 1000, 'Cash',
|
|---|
| 154 | (SELECT booking_id FROM bookings WHERE address = 'ul. Borka Taleski br. 1, Skopje')
|
|---|
| 155 | ),
|
|---|
| 156 | (
|
|---|
| 157 | 3000, 'Credit Card',
|
|---|
| 158 | (SELECT booking_id FROM bookings WHERE address = 'ul. Ruger Boskovik br. 16, Skopje')
|
|---|
| 159 | ),
|
|---|
| 160 | (
|
|---|
| 161 | 1500, 'Debit Card',
|
|---|
| 162 | (SELECT booking_id FROM bookings WHERE address = 'ul. Orce Nikolov br. 136, Skopje')
|
|---|
| 163 | ),
|
|---|
| 164 | (
|
|---|
| 165 | 1200, 'Cash',
|
|---|
| 166 | (SELECT booking_id FROM bookings WHERE address = 'ul. Jurij Gagarin br. 15, Skopje')
|
|---|
| 167 | ),
|
|---|
| 168 | (
|
|---|
| 169 | 5000, 'Credit Card',
|
|---|
| 170 | (SELECT booking_id FROM bookings WHERE address = 'bul. ASNOM br. 47, Skopje')
|
|---|
| 171 | );
|
|---|
| 172 |
|
|---|
| 173 | INSERT INTO admin_management (admin_id, user_id) VALUES
|
|---|
| 174 | (
|
|---|
| 175 | (SELECT user_id FROM users WHERE username = 'admin_darko'),
|
|---|
| 176 | (SELECT user_id FROM users WHERE username = 'owner_bojan')
|
|---|
| 177 | );
|
|---|
| 178 |
|
|---|
| 179 | INSERT INTO booking_pets (booking_id, pet_id) VALUES
|
|---|
| 180 | (
|
|---|
| 181 | (SELECT booking_id FROM bookings WHERE address = 'bul. Partizanski Odredi br. 50, Skopje'),
|
|---|
| 182 | (SELECT pet_id FROM pets WHERE name = 'Leo')
|
|---|
| 183 | ),
|
|---|
| 184 | (
|
|---|
| 185 | (SELECT booking_id FROM bookings WHERE address = 'ul. Leninova br. 25, Skopje'),
|
|---|
| 186 | (SELECT pet_id FROM pets WHERE name = 'Dante')
|
|---|
| 187 | ),
|
|---|
| 188 | (
|
|---|
| 189 | (SELECT booking_id FROM bookings WHERE address = 'ul. Borka Taleski br. 1, Skopje'),
|
|---|
| 190 | (SELECT pet_id FROM pets WHERE name = 'Rex')
|
|---|
| 191 | ),
|
|---|
| 192 | (
|
|---|
| 193 | (SELECT booking_id FROM bookings WHERE address = 'ul. Ruger Boskovik br. 16, Skopje'),
|
|---|
| 194 | (SELECT pet_id FROM pets WHERE name = 'Luna')
|
|---|
| 195 | ),
|
|---|
| 196 | (
|
|---|
| 197 | (SELECT booking_id FROM bookings WHERE address = 'ul. Ruger Boskovik br. 16, Skopje'),
|
|---|
| 198 | (SELECT pet_id FROM pets WHERE name = 'Kiko')
|
|---|
| 199 | ),
|
|---|
| 200 | (
|
|---|
| 201 | (SELECT booking_id FROM bookings WHERE address = 'ul. Orce Nikolov br. 136, Skopje'),
|
|---|
| 202 | (SELECT pet_id FROM pets WHERE name = 'Max')
|
|---|
| 203 | ),
|
|---|
| 204 | (
|
|---|
| 205 | (SELECT booking_id FROM bookings WHERE address = 'ul. Jurij Gagarin br. 15, Skopje'),
|
|---|
| 206 | (SELECT pet_id FROM pets WHERE name = 'Bela')
|
|---|
| 207 | ),
|
|---|
| 208 | (
|
|---|
| 209 | (SELECT booking_id FROM bookings WHERE address = 'bul. ASNOM br. 47, Skopje'),
|
|---|
| 210 | (SELECT pet_id FROM pets WHERE name = 'Luna')
|
|---|
| 211 | );
|
|---|
| 212 |
|
|---|
| 213 | INSERT INTO sitter_services (sitter_id, service_id) VALUES
|
|---|
| 214 | (
|
|---|
| 215 | (SELECT user_id FROM users WHERE username = 'sitter_filip'),
|
|---|
| 216 | (SELECT service_id FROM services WHERE type = 'Dog Walking')
|
|---|
| 217 | ),
|
|---|
| 218 | (
|
|---|
| 219 | (SELECT user_id FROM users WHERE username = 'sitter_filip'),
|
|---|
| 220 | (SELECT service_id FROM services WHERE type = 'Short Visit')
|
|---|
| 221 | ),
|
|---|
| 222 | (
|
|---|
| 223 | (SELECT user_id FROM users WHERE username = 'sitter_lile'),
|
|---|
| 224 | (SELECT service_id FROM services WHERE type = 'Overnight Stay')
|
|---|
| 225 | ),
|
|---|
| 226 | (
|
|---|
| 227 | (SELECT user_id FROM users WHERE username = 'sitter_ana'),
|
|---|
| 228 | (SELECT service_id FROM services WHERE type = 'Dog Walking')
|
|---|
| 229 | ),
|
|---|
| 230 | (
|
|---|
| 231 | (SELECT user_id FROM users WHERE username = 'sitter_ana'),
|
|---|
| 232 | (SELECT service_id FROM services WHERE type = 'Short Visit')
|
|---|
| 233 | ),
|
|---|
| 234 | (
|
|---|
| 235 | (SELECT user_id FROM users WHERE username = 'sitter_stefan'),
|
|---|
| 236 | (SELECT service_id FROM services WHERE type = 'Overnight Stay')
|
|---|
| 237 | );
|
|---|
| 238 |
|
|---|
| 239 | INSERT INTO booking_services (booking_id, service_id) VALUES
|
|---|
| 240 | (
|
|---|
| 241 | (SELECT booking_id FROM bookings WHERE address = 'bul. Partizanski Odredi br. 50, Skopje'),
|
|---|
| 242 | (SELECT service_id FROM services WHERE type = 'Dog Walking')
|
|---|
| 243 | ),
|
|---|
| 244 | (
|
|---|
| 245 | (SELECT booking_id FROM bookings WHERE address = 'ul. Leninova br. 25, Skopje'),
|
|---|
| 246 | (SELECT service_id FROM services WHERE type = 'Overnight Stay')
|
|---|
| 247 | ),
|
|---|
| 248 | (
|
|---|
| 249 | (SELECT booking_id FROM bookings WHERE address = 'ul. Borka Taleski br. 1, Skopje'),
|
|---|
| 250 | (SELECT service_id FROM services WHERE type = 'Dog Walking')
|
|---|
| 251 | ),
|
|---|
| 252 | (
|
|---|
| 253 | (SELECT booking_id FROM bookings WHERE address = 'ul. Ruger Boskovik br. 16, Skopje'),
|
|---|
| 254 | (SELECT service_id FROM services WHERE type = 'Overnight Stay')
|
|---|
| 255 | ),
|
|---|
| 256 | (
|
|---|
| 257 | (SELECT booking_id FROM bookings WHERE address = 'ul. Orce Nikolov br. 136, Skopje'),
|
|---|
| 258 | (SELECT service_id FROM services WHERE type = 'Short Visit')
|
|---|
| 259 | ),
|
|---|
| 260 | (
|
|---|
| 261 | (SELECT booking_id FROM bookings WHERE address = 'ul. Jurij Gagarin br. 15, Skopje'),
|
|---|
| 262 | (SELECT service_id FROM services WHERE type = 'Dog Walking')
|
|---|
| 263 | ),
|
|---|
| 264 | (
|
|---|
| 265 | (SELECT booking_id FROM bookings WHERE address = 'bul. ASNOM br. 47, Skopje'),
|
|---|
| 266 | (SELECT service_id FROM services WHERE type = 'Overnight Stay')
|
|---|
| 267 | );
|
|---|
| 268 |
|
|---|
| 269 | COMMIT; |
|---|