| [ea40556] | 1 | SET search_path TO project;
|
|---|
| 2 |
|
|---|
| 3 | TRUNCATE TABLE
|
|---|
| 4 | professour_subjects,
|
|---|
| 5 | dependency_subject,
|
|---|
| 6 | major_subjects,
|
|---|
| 7 | payment,
|
|---|
| 8 | token,
|
|---|
| 9 | user_documents,
|
|---|
| 10 | documents,
|
|---|
| 11 | passed_subjects,
|
|---|
| 12 | semesters_subjects,
|
|---|
| 13 | enrolled_semesters,
|
|---|
| 14 | subjects,
|
|---|
| 15 | active_semesters,
|
|---|
| 16 | major,
|
|---|
| 17 | contact,
|
|---|
| 18 | high_school,
|
|---|
| 19 | users
|
|---|
| 20 | RESTART IDENTITY CASCADE;
|
|---|
| 21 |
|
|---|
| 22 | INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
|
|---|
| 23 | (1, 'Stefan', '0101999450001', 'Saveski', '233149', '1999-01-01', 'stefan.saveski@students.finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'student', 'drzavna', 2023),
|
|---|
| 24 | (2, 'Boris', '0202999450002', 'Gjorgjievski','233188', '1999-02-02', 'boris.gjorgjievski@students.finki.ukim.mk','$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'student', 'privatna', 2023),
|
|---|
| 25 | (3, 'Ana', '0303000450003', 'Petrova', '233200', '2000-03-03', 'ana.petrova@students.finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'student', 'drzavna', 2023);
|
|---|
| 26 |
|
|---|
| 27 | INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
|
|---|
| 28 | (4, 'Vangel', '0404198045004', 'Ajanovski', NULL, '1980-04-04', 'vangel.ajanovski@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL),
|
|---|
| 29 | (5, 'Marija', '0505198545005', 'Ilievska', NULL, '1985-05-05', 'marija.ilievska@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL);
|
|---|
| 30 |
|
|---|
| 31 | INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
|
|---|
| 32 | (6, 'Igor', '0606197545006', 'Adminovski', NULL, '1975-06-06', 'igor.adminovski@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'admin', NULL, NULL);
|
|---|
| 33 |
|
|---|
| 34 | INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
|
|---|
| 35 | (7, 'Riste', '0707197845007', 'Stojanov', NULL, '1978-07-07', 'riste.stojanov@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL),
|
|---|
| 36 | (8, 'Katerina','0808198245008', 'Zdravkova', NULL, '1982-08-08', 'katerina.zdravkova@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL);
|
|---|
| 37 |
|
|---|
| 38 | INSERT INTO high_school (id, user_id, gpa, type) VALUES
|
|---|
| 39 | (1, 1, 4.85, 'gimnazija'),
|
|---|
| 40 | (2, 2, 4.60, 'strucen'),
|
|---|
| 41 | (3, 3, 4.95, 'gimnazija');
|
|---|
| 42 |
|
|---|
| 43 | INSERT INTO contact (id, user_id, city, municipality, address, number, microsoft_email) VALUES
|
|---|
| 44 | (1, 1, 'Skopje', 'Centar', 'Bul. Partizanski Odredi 15', '070111111', 'stefan.saveski@live.finki.ukim.mk'),
|
|---|
| 45 | (2, 2, 'Skopje', 'Karpos', 'Ul. Ivan Milutinovic 22', '071222222', 'boris.gjorgjievski@live.finki.ukim.mk'),
|
|---|
| 46 | (3, 3, 'Tetovo', 'Tetovo', 'Ul. Ilindenska 5', '072333333', NULL);
|
|---|
| 47 |
|
|---|
| 48 | INSERT INTO major (id, name) VALUES
|
|---|
| 49 | (1, 'Software Engineering and Information Systems'),
|
|---|
| 50 | (2, 'Computer Science and Engineering');
|
|---|
| 51 |
|
|---|
| 52 | INSERT INTO active_semesters (id, year, type) VALUES
|
|---|
| 53 | (1, 2024, 'winter'),
|
|---|
| 54 | (2, 2025, 'summer'),
|
|---|
| 55 | (3, 2025, 'winter'),
|
|---|
| 56 | (4, 2026, 'summer'),
|
|---|
| 57 | (5, 2026, 'winter');
|
|---|
| 58 |
|
|---|
| 59 | INSERT INTO subjects (id, name, code, awarded_credits, dependency_credit) VALUES
|
|---|
| 60 | (1, 'Structured Programming', 'F18L1S001', 6, 0),
|
|---|
| 61 | (2, 'Object Oriented Programming', 'F18L1S002', 6, 6),
|
|---|
| 62 | (3, 'Databases', 'F18L2S010', 6, 6),
|
|---|
| 63 | (4, 'Operating Systems', 'F18L2S011', 6, 0),
|
|---|
| 64 | (5, 'Web Programming', 'F18L3S020', 6, 12),
|
|---|
| 65 | (6, 'Algorithms and Data Structures', 'F18L2S012', 6, 6),
|
|---|
| 66 | (7, 'Computer Networks', 'F18L2S013', 6, 6),
|
|---|
| 67 | (8, 'Software Engineering', 'F18L3S021', 6, 12),
|
|---|
| 68 | (9, 'Discrete Mathematics', 'F18L1S003', 6, 0),
|
|---|
| 69 | (10, 'Calculus', 'F18L1S004', 6, 0),
|
|---|
| 70 | (11, 'Linear Algebra', 'F18L1S005', 6, 0),
|
|---|
| 71 | (12, 'Computer Architecture', 'F18L1S006', 6, 0),
|
|---|
| 72 | (13, 'Artificial Intelligence', 'F18L3S022', 6, 12),
|
|---|
| 73 | (14, 'Machine Learning', 'F18L4S030', 6, 18),
|
|---|
| 74 | (15, 'Information Security', 'F18L3S023', 6, 12),
|
|---|
| 75 | (16, 'Mobile Platforms', 'F18L3S024', 6, 12),
|
|---|
| 76 | (17, 'Distributed Systems', 'F18L4S031', 6, 18),
|
|---|
| 77 | (18, 'Human-Computer Interaction', 'F18L2S014', 6, 6),
|
|---|
| 78 | (19, 'Probability and Statistics', 'F18L2S015', 6, 6),
|
|---|
| 79 | (20, 'Compiler Design', 'F18L4S032', 6, 18);
|
|---|
| 80 |
|
|---|
| 81 | INSERT INTO enrolled_semesters (id, user_id, quota, major_id, note, student_comment, last_change, completed, semester_id) VALUES
|
|---|
| 82 | (1, 1, 'drzavna', 1, NULL, 'prva godina', '2024-10-01 10:00:00', '2025-02-01 12:00:00', 1),
|
|---|
| 83 | (2, 1, 'drzavna', 1, NULL, NULL, '2025-03-01 10:00:00', NULL, 2),
|
|---|
| 84 | (3, 2, 'privatna', 1, NULL, NULL, '2024-10-05 09:30:00', '2025-02-03 11:00:00', 1),
|
|---|
| 85 | (4, 3, 'drzavna', 2, NULL, NULL, '2024-10-02 08:15:00', NULL, 1);
|
|---|
| 86 |
|
|---|
| 87 | INSERT INTO semesters_subjects (id, enrolled_semesters_id, subjects_id, professor_id, signature) VALUES
|
|---|
| 88 | (1, 1, 1, 4, TRUE),
|
|---|
| 89 | (2, 1, 4, 5, TRUE),
|
|---|
| 90 | (3, 2, 2, 4, FALSE),
|
|---|
| 91 | (4, 3, 1, 4, TRUE),
|
|---|
| 92 | (5, 4, 1, 4, TRUE),
|
|---|
| 93 | (6, 4, 3, 5, FALSE);
|
|---|
| 94 |
|
|---|
| 95 | INSERT INTO passed_subjects (id, enrolled_id, grade, date_passed) VALUES
|
|---|
| 96 | (1, 1, '10', '2025-01-25 14:00:00'),
|
|---|
| 97 | (2, 2, '8', '2025-01-30 11:30:00'),
|
|---|
| 98 | (3, 4, '9', '2025-01-28 09:45:00'),
|
|---|
| 99 | (4, 5, '7', '2025-01-29 13:15:00');
|
|---|
| 100 |
|
|---|
| 101 | INSERT INTO documents (id, type, body, cost) VALUES
|
|---|
| 102 | (1, 'Uverenie za polozeni ispiti', 'Sodrzina na uverenie za polozeni ispiti...', 100),
|
|---|
| 103 | (2, 'Potvrda za redoven student', 'Sodrzina na potvrda za redoven student...', 50),
|
|---|
| 104 | (3, 'Diploma', 'Sodrzina na diploma...', 500);
|
|---|
| 105 |
|
|---|
| 106 | INSERT INTO user_documents (user_id, document_id) VALUES
|
|---|
| 107 | (1, 1),
|
|---|
| 108 | (1, 2),
|
|---|
| 109 | (2, 2),
|
|---|
| 110 | (3, 1);
|
|---|
| 111 |
|
|---|
| 112 | INSERT INTO token (id, user_id, token, expires_at, is_valid) VALUES
|
|---|
| 113 | (1, 1, 'tok_abc123_stefan', '2026-08-01 00:00:00', TRUE),
|
|---|
| 114 | (2, 2, 'tok_def456_boris', '2026-08-01 00:00:00', TRUE),
|
|---|
| 115 | (3, 1, 'tok_old789_stefan', '2026-01-01 00:00:00', FALSE);
|
|---|
| 116 |
|
|---|
| [c42181c] | 117 | INSERT INTO payment (id, enrollment_id, amount) VALUES
|
|---|
| 118 | (1, 1, 200),
|
|---|
| 119 | (2, 2, 200),
|
|---|
| 120 | (3, 3, 400),
|
|---|
| 121 | (4, 4, 200);
|
|---|
| [ea40556] | 122 |
|
|---|
| 123 | INSERT INTO major_subjects (major_id, subject_id, mandatory_semester) VALUES
|
|---|
| 124 | (1, 1, 1), (1, 9, 1), (1, 10, 1), (1, 11, 1), (1, 12, 1),
|
|---|
| 125 | (1, 2, 2), (1, 6, 2), (1, 18, 2), (1, 19, 2),
|
|---|
| 126 | (1, 3, 3), (1, 4, 3), (1, 7, 3),
|
|---|
| 127 | (1, 5, 4), (1, 8, 4), (1, 13, 4), (1, 15, 4), (1, 16, 4),
|
|---|
| 128 | (1, 14, 5), (1, 17, 5),
|
|---|
| 129 | (2, 1, 1), (2, 9, 1), (2, 10, 1), (2, 11, 1), (2, 12, 1),
|
|---|
| 130 | (2, 2, 2), (2, 6, 2), (2, 19, 2),
|
|---|
| 131 | (2, 3, 3), (2, 4, 3), (2, 7, 3), (2, 18, 3),
|
|---|
| 132 | (2, 5, 4), (2, 13, 4), (2, 15, 4),
|
|---|
| 133 | (2, 14, 5), (2, 17, 5), (2, 20, 5);
|
|---|
| 134 |
|
|---|
| 135 | INSERT INTO dependency_subject (subject_id, dependency_id) VALUES
|
|---|
| 136 | (2, 1),
|
|---|
| 137 | (5, 2),
|
|---|
| 138 | (3, 1);
|
|---|
| 139 |
|
|---|
| 140 | INSERT INTO professour_subjects (prof_id, active_semester_id, subject_id)
|
|---|
| 141 | SELECT teacher.id, sem.id, subj.id
|
|---|
| 142 | FROM subjects subj
|
|---|
| 143 | CROSS JOIN active_semesters sem
|
|---|
| 144 | CROSS JOIN LATERAL (
|
|---|
| 145 | SELECT u.id
|
|---|
| 146 | FROM users u
|
|---|
| 147 | WHERE u.role = 'prof'
|
|---|
| 148 | ORDER BY u.id
|
|---|
| 149 | OFFSET subj.id % (SELECT count(*) FROM users WHERE role = 'prof')
|
|---|
| 150 | LIMIT 1
|
|---|
| 151 | ) AS teacher;
|
|---|
| 152 |
|
|---|
| 153 | SELECT setval(pg_get_serial_sequence('users', 'id'), (SELECT max(id) FROM users));
|
|---|
| 154 | SELECT setval(pg_get_serial_sequence('high_school', 'id'), (SELECT max(id) FROM high_school));
|
|---|
| 155 | SELECT setval(pg_get_serial_sequence('contact', 'id'), (SELECT max(id) FROM contact));
|
|---|
| 156 | SELECT setval(pg_get_serial_sequence('major', 'id'), (SELECT max(id) FROM major));
|
|---|
| 157 | SELECT setval(pg_get_serial_sequence('active_semesters', 'id'), (SELECT max(id) FROM active_semesters));
|
|---|
| 158 | SELECT setval(pg_get_serial_sequence('subjects', 'id'), (SELECT max(id) FROM subjects));
|
|---|
| 159 | SELECT setval(pg_get_serial_sequence('enrolled_semesters', 'id'), (SELECT max(id) FROM enrolled_semesters));
|
|---|
| 160 | SELECT setval(pg_get_serial_sequence('semesters_subjects', 'id'), (SELECT max(id) FROM semesters_subjects));
|
|---|
| 161 | SELECT setval(pg_get_serial_sequence('passed_subjects', 'id'), (SELECT max(id) FROM passed_subjects));
|
|---|
| 162 | SELECT setval(pg_get_serial_sequence('documents', 'id'), (SELECT max(id) FROM documents));
|
|---|
| 163 | SELECT setval(pg_get_serial_sequence('token', 'id'), (SELECT max(id) FROM token));
|
|---|
| 164 | SELECT setval(pg_get_serial_sequence('payment', 'id'), (SELECT max(id) FROM payment));
|
|---|