| 1 | BEGIN;
|
|---|
| 2 |
|
|---|
| 3 | INSERT INTO users (username, email, name, surname, created_at) VALUES
|
|---|
| 4 | ('client.viktor', 'viktor.client@petify.com', 'Viktor', 'Kostov', NOW() - INTERVAL '42 days'),
|
|---|
| 5 | ('admin.ana', 'ana.admin@petify.com', 'Ana', 'Adminova', NOW() - INTERVAL '40 days'),
|
|---|
| 6 | ('client.mila', 'mila.client@petify.com', 'Mila', 'Ivanova', NOW() - INTERVAL '30 days'),
|
|---|
| 7 | ('client.igor', 'igor.client@petify.com', 'Igor', 'Petrov', NOW() - INTERVAL '25 days'),
|
|---|
| 8 | ('client.sara', 'sara.client@petify.com', 'Sara', 'Jovanova', NOW() - INTERVAL '20 days');
|
|---|
| 9 |
|
|---|
| 10 | INSERT INTO admins (user_id)
|
|---|
| 11 | SELECT user_id FROM users WHERE username = 'admin.ana';
|
|---|
| 12 |
|
|---|
| 13 | INSERT INTO clients (user_id)
|
|---|
| 14 | SELECT user_id FROM users WHERE username IN ('client.viktor','client.mila','client.igor','client.sara');
|
|---|
| 15 |
|
|---|
| 16 | INSERT INTO owners (user_id)
|
|---|
| 17 | SELECT user_id FROM users WHERE username IN ('client.mila','client.igor');
|
|---|
| 18 |
|
|---|
| 19 | INSERT INTO vet_clinics (name, email, phone, city, address, approved_by) VALUES
|
|---|
| 20 | ('Happy Paws Clinic', 'contact@happypaws.vet', '+389 70 111 222', 'Skopje', 'Partizanska 10',
|
|---|
| 21 | (SELECT user_id FROM users WHERE username='admin.ana')),
|
|---|
| 22 | ('VetCare Center', 'info@vetcare.vet', '+389 70 333 444', 'Bitola', 'Shirok Sokak 55',
|
|---|
| 23 | (SELECT user_id FROM users WHERE username='admin.ana'));
|
|---|
| 24 |
|
|---|
| 25 | INSERT INTO animals (owner_id, name, sex, date_of_birth, photo_url, type, species, breed, located_name) VALUES
|
|---|
| 26 | ((SELECT user_id FROM users WHERE username='client.mila'), 'Luna', 'FEMALE', '2021-05-10', NULL, 'PET', 'Dog', 'Labrador', 'Skopje'),
|
|---|
| 27 | ((SELECT user_id FROM users WHERE username='client.mila'), 'Max', 'MALE', '2020-11-02', NULL, 'PET', 'Cat', 'British Shorthair', 'Skopje'),
|
|---|
| 28 | ((SELECT user_id FROM users WHERE username='client.igor'), 'Rex', 'MALE', '2019-02-18', NULL, 'PET', 'Dog', 'German Shepherd', 'Bitola');
|
|---|
| 29 |
|
|---|
| 30 | INSERT INTO listings (owner_id, animal_id, status, price, description, created_at) VALUES
|
|---|
| 31 | ((SELECT user_id FROM users WHERE username='client.mila'),
|
|---|
| 32 | (SELECT animal_id FROM animals WHERE name='Luna'),
|
|---|
| 33 | 'ACTIVE', 50.00, 'Friendly dog available for weekend sitting.', NOW() - INTERVAL '10 days'),
|
|---|
| 34 |
|
|---|
| 35 | ((SELECT user_id FROM users WHERE username='client.igor'),
|
|---|
| 36 | (SELECT animal_id FROM animals WHERE name='Rex'),
|
|---|
| 37 | 'ARCHIVED', 35.00, 'Guard dog training sessions (experienced handler).', NOW() - INTERVAL '7 days');
|
|---|
| 38 |
|
|---|
| 39 | INSERT INTO appointments (clinic_id, animal_id, responsible_owner_id, status, date_time, notes) VALUES
|
|---|
| 40 | ((SELECT clinic_id FROM vet_clinics WHERE name='Happy Paws Clinic'),
|
|---|
| 41 | (SELECT animal_id FROM animals WHERE name='Luna'),
|
|---|
| 42 | (SELECT user_id FROM users WHERE username='client.mila'),
|
|---|
| 43 | 'DONE', NOW() - INTERVAL '5 days', 'Vaccination'),
|
|---|
| 44 |
|
|---|
| 45 | ((SELECT clinic_id FROM vet_clinics WHERE name='Happy Paws Clinic'),
|
|---|
| 46 | (SELECT animal_id FROM animals WHERE name='Max'),
|
|---|
| 47 | (SELECT user_id FROM users WHERE username='client.mila'),
|
|---|
| 48 | 'CONFIRMED', NOW() + INTERVAL '2 days', 'Check-up'),
|
|---|
| 49 |
|
|---|
| 50 | ((SELECT clinic_id FROM vet_clinics WHERE name='VetCare Center'),
|
|---|
| 51 | (SELECT animal_id FROM animals WHERE name='Rex'),
|
|---|
| 52 | (SELECT user_id FROM users WHERE username='client.igor'),
|
|---|
| 53 | 'DONE', NOW() - INTERVAL '12 days', 'Minor injury treatment');
|
|---|
| 54 |
|
|---|
| 55 | INSERT INTO reviews (review_id, reviewer_id, rating, comment, created_at) VALUES
|
|---|
| 56 | (1, (SELECT user_id FROM users WHERE username='client.mila'),
|
|---|
| 57 | 5, 'Great service and friendly staff!', NOW() - INTERVAL '4 days'),
|
|---|
| 58 |
|
|---|
| 59 | (2, (SELECT user_id FROM users WHERE username='client.sara'),
|
|---|
| 60 | 4, 'Smooth communication and on time.', NOW() - INTERVAL '3 days'),
|
|---|
| 61 |
|
|---|
| 62 | (3, (SELECT user_id FROM users WHERE username='client.viktor'),
|
|---|
| 63 | 4, 'Very reliable and polite communication.', NOW() - INTERVAL '2 days');
|
|---|
| 64 |
|
|---|
| 65 | INSERT INTO clinic_reviews (review_id, target_clinic_id)
|
|---|
| 66 | VALUES (
|
|---|
| 67 | 1,
|
|---|
| 68 | (SELECT clinic_id FROM vet_clinics WHERE name='Happy Paws Clinic')
|
|---|
| 69 | );
|
|---|
| 70 |
|
|---|
| 71 | INSERT INTO user_reviews (review_id, target_user_id) VALUES
|
|---|
| 72 | (2, (SELECT user_id FROM users WHERE username='client.igor')),
|
|---|
| 73 | (3, (SELECT user_id FROM users WHERE username='client.mila'));
|
|---|
| 74 |
|
|---|
| 75 |
|
|---|
| 76 | INSERT INTO health_records (animal_id, appointment_id, type, description, date) VALUES
|
|---|
| 77 | ((SELECT animal_id FROM animals WHERE name='Luna'),
|
|---|
| 78 | (SELECT appointment_id FROM appointments a
|
|---|
| 79 | JOIN animals an ON an.animal_id = a.animal_id
|
|---|
| 80 | WHERE an.name='Luna' AND a.status='DONE'
|
|---|
| 81 | ORDER BY a.appointment_id DESC LIMIT 1),
|
|---|
| 82 | 'VACCINATION', 'Rabies vaccine administered. No adverse reaction.', CURRENT_DATE - 5),
|
|---|
| 83 |
|
|---|
| 84 | ((SELECT animal_id FROM animals WHERE name='Rex'),
|
|---|
| 85 | (SELECT appointment_id FROM appointments a
|
|---|
| 86 | JOIN animals an ON an.animal_id = a.animal_id
|
|---|
| 87 | WHERE an.name='Rex' AND a.status='DONE'
|
|---|
| 88 | ORDER BY a.appointment_id DESC LIMIT 1),
|
|---|
| 89 | 'TREATMENT', 'Wound cleaned and bandaged. Antibiotics prescribed.', CURRENT_DATE - 12);
|
|---|
| 90 |
|
|---|
| 91 |
|
|---|
| 92 | INSERT INTO notifications (user_id, type, message, is_read, created_at) VALUES
|
|---|
| 93 | ((SELECT user_id FROM users WHERE username='client.mila'), 'APPOINTMENT', 'Your appointment is confirmed for Max.', FALSE, NOW() - INTERVAL '1 day'),
|
|---|
| 94 | ((SELECT user_id FROM users WHERE username='client.igor'), 'LISTING', 'Your listing status is ARCHIVED.', TRUE, NOW() - INTERVAL '6 days');
|
|---|
| 95 |
|
|---|
| 96 | COMMIT;
|
|---|