-- phpMyAdmin SQL Dump -- version 5.2.1 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Generation Time: Sep 01, 2025 at 05:50 AM -- Server version: 10.4.32-MariaDB -- PHP Version: 8.2.12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `school` -- -- -------------------------------------------------------- -- -- Table structure for table `attendance_data` -- CREATE TABLE `attendance_data` ( `id` int(11) UNSIGNED NOT NULL, `class_id` int(11) NOT NULL, `class_section_id` int(11) NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `date` date NOT NULL, `status` enum('present','absent','late') NOT NULL DEFAULT 'present', `reason` text DEFAULT NULL, `reported` tinyint(4) DEFAULT NULL, `semester` varchar(25) NOT NULL, `school_year` varchar(9) NOT NULL, `modified_by` int(11) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `attendance_record` -- CREATE TABLE `attendance_record` ( `id` int(11) UNSIGNED NOT NULL, `class_section_id` int(11) NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `total_absence` int(11) NOT NULL DEFAULT 0, `total_late` int(11) NOT NULL DEFAULT 0, `total_presence` int(11) NOT NULL DEFAULT 0, `total_attendance` int(11) NOT NULL DEFAULT 0, `semester` varchar(25) NOT NULL, `school_year` varchar(9) NOT NULL, `modified_by` int(11) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `attendance_tracking` -- CREATE TABLE `attendance_tracking` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) UNSIGNED NOT NULL, `date` date NOT NULL, `is_reported` tinyint(1) NOT NULL DEFAULT 0, `reason` text DEFAULT NULL, `is_notified` tinyint(1) NOT NULL DEFAULT 0, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `authorized_users` -- CREATE TABLE `authorized_users` ( `id` int(11) UNSIGNED NOT NULL, `user_id` int(11) NOT NULL, `authorized_user_id` int(11) DEFAULT NULL, `firstname` varchar(255) NOT NULL, `lastname` varchar(255) NOT NULL, `phone_number` varchar(25) NOT NULL, `gender` varchar(10) NOT NULL, `email` varchar(255) NOT NULL, `relation_to_user` varchar(64) DEFAULT NULL, `token` varchar(128) DEFAULT NULL, `status` enum('Pending','Active') DEFAULT 'Pending', `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `calendar_events` -- CREATE TABLE `calendar_events` ( `id` int(11) UNSIGNED NOT NULL, `title` varchar(255) NOT NULL, `date` date NOT NULL, `description` text DEFAULT NULL, `notify_parent` tinyint(1) NOT NULL DEFAULT 0, `notify_admin` tinyint(1) NOT NULL DEFAULT 0, `notify_teacher` tinyint(1) NOT NULL DEFAULT 0, `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `notification_sent` tinyint(1) NOT NULL DEFAULT 0, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `calendar_events` -- INSERT INTO `calendar_events` (`id`, `title`, `date`, `description`, `notify_parent`, `notify_admin`, `notify_teacher`, `semester`, `school_year`, `notification_sent`, `created_at`, `updated_at`) VALUES (1, 'First Day of School', '2025-09-21', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:30:03', '2025-07-27 17:30:03'), (2, 'Last Day of Registration', '2025-10-01', 'Registration ends at midnight', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:32:00', '2025-07-27 17:32:00'), (3, 'November Break', '2025-11-30', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:32:26', '2025-07-27 17:32:26'), (4, 'Winter Break 1', '2025-12-21', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:32:47', '2025-07-27 17:32:47'), (5, 'Winter Break 2', '2025-12-28', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:33:08', '2025-07-27 17:33:08'), (6, 'Midterm Exam', '2026-01-18', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:33:22', '2025-07-27 17:33:57'), (7, 'February Break', '2026-02-15', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:34:17', '2025-07-27 17:34:17'), (8, 'Ramadan Last 10 Break', '2026-03-15', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-07-27 17:34:43', '2025-07-27 17:34:54'), (9, 'Eid Al-Fitr Break', '2026-03-22', '', 0, 0, 0, 'Fall', '2024-2025', 0, '2025-07-27 17:35:15', '2025-07-27 17:35:15'), (10, 'April Break', '2026-04-19', '', 0, 0, 0, 'Fall', '2024-2025', 0, '2025-07-27 17:35:34', '2025-07-27 17:35:34'), (11, 'Final Exam', '2026-05-17', '', 0, 0, 0, 'Fall', '2024-2025', 0, '2025-07-27 17:35:49', '2025-07-27 17:36:29'), (12, 'May Break', '2026-05-24', '', 0, 0, 0, 'Fall', '2024-2025', 0, '2025-07-27 17:36:09', '2025-07-27 17:36:39'), (13, 'Ceremony Day', '2026-05-31', 'Last Day of School', 0, 0, 0, 'Fall', '2024-2025', 0, '2025-07-27 17:37:14', '2025-07-27 17:39:39'), (14, 'Eid Al-Fitr Break', '2026-03-22', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-09-01 00:02:09', '2025-09-01 00:02:09'), (15, 'April Break', '2026-04-19', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-09-01 00:04:18', '2025-09-01 00:04:18'), (16, 'Final Exam', '2026-05-17', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-09-01 00:04:38', '2025-09-01 00:04:38'), (17, 'May Break', '2026-05-24', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-09-01 00:04:57', '2025-09-01 00:04:57'), (18, 'Ceremony Day / Lay Day of School', '2026-05-31', '', 0, 0, 0, 'Fall', '2025-2026', 0, '2025-09-01 00:05:30', '2025-09-01 00:05:30'); -- -------------------------------------------------------- -- -- Table structure for table `chapters` -- CREATE TABLE `chapters` ( `id` int(11) UNSIGNED NOT NULL, `chapter_name` varchar(100) NOT NULL, `class_section_id` int(11) NOT NULL, `school_year` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `classes` -- CREATE TABLE `classes` ( `id` int(11) UNSIGNED NOT NULL, `class_name` varchar(100) NOT NULL, `schedule` varchar(100) NOT NULL, `capacity` int(11) NOT NULL, `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `classes` -- INSERT INTO `classes` (`id`, `class_name`, `schedule`, `capacity`, `semester`, `school_year`) VALUES (1, 'KG', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (2, '1', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (3, '2', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (4, '3', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (5, '4', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (6, '5', 'Sunday 10:00 PM - 1:00 PM', 30, '', '-1'), (7, '6', 'Sunday 10:00 PM - 1:00 PM', 30, '', '-1'), (8, '7', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (9, '8', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (10, '9', 'Sunday 10:00 PM - 1:00 PM', 30, '', '-1'), (11, '10', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (12, '11', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'), (13, 'youth', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'); -- -------------------------------------------------------- -- -- Table structure for table `classSection` -- CREATE TABLE `classSection` ( `id` int(11) UNSIGNED NOT NULL, `class_id` int(11) UNSIGNED NOT NULL, `class_section_id` int(11) UNSIGNED NOT NULL, `class_section_name` varchar(100) NOT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `classSection` -- INSERT INTO `classSection` (`id`, `class_id`, `class_section_id`, `class_section_name`, `created_at`, `updated_at`, `semester`, `school_year`) VALUES (1, 1, 1, 'KG', '2024-08-16 01:06:30', '2024-08-23 16:30:43', '', NULL), (2, 2, 10, '1', '2024-08-16 01:06:30', '2024-08-23 16:30:43', '', NULL), (3, 2, 11, '1-A', '2024-08-16 01:06:30', '2024-08-23 17:15:54', '', NULL), (4, 2, 12, '1-B', '2024-08-16 01:06:30', '2024-08-23 17:15:54', '', NULL), (5, 2, 13, '1-C', '2024-08-16 01:06:30', '2024-08-23 17:15:54', '', NULL), (6, 3, 20, '2', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL), (7, 3, 21, '2-A', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL), (8, 3, 22, '2-B', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL), (9, 3, 23, '2-C', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL), (10, 4, 30, '3', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL), (11, 4, 31, '3-A', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL), (12, 4, 32, '3-B', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL), (13, 4, 33, '3-C', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL), (14, 5, 40, '4', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (15, 5, 41, '4-A', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (16, 5, 42, '4-B', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (17, 5, 43, '4-C', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (18, 6, 50, '5', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (19, 6, 51, '5-A', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (20, 6, 52, '5-B', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (21, 6, 53, '5-C', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (22, 7, 60, '6', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (23, 7, 61, '6-A', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (24, 7, 62, '6-B', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (25, 7, 63, '6-C', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL), (26, 8, 70, '7', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (27, 8, 71, '7-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (28, 8, 72, '7-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (29, 8, 73, '7-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (30, 9, 80, '8', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (31, 9, 81, '8-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (32, 9, 82, '8-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (33, 9, 83, '8-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (34, 10, 90, '9', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (35, 10, 91, '9-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (36, 10, 92, '9-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (37, 10, 93, '9-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (38, 11, 100, '10', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (39, 11, 101, '10-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (40, 11, 102, '10-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (41, 11, 103, '10-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (42, 12, 110, '11', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (43, 12, 111, '11-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (44, 12, 112, '11-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (45, 12, 113, '11-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (46, 13, 120, 'youth', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (47, 13, 121, 'youth-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (48, 13, 122, 'youth-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL), (49, 13, 123, 'youth-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL); -- -------------------------------------------------------- -- -- Table structure for table `class_preparation_log` -- CREATE TABLE `class_preparation_log` ( `id` int(10) UNSIGNED NOT NULL, `class_section_id` int(10) UNSIGNED NOT NULL, `class_section` varchar(100) DEFAULT NULL, `school_year` varchar(9) NOT NULL, `prep_data` text NOT NULL, `created_at` datetime DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `configuration` -- CREATE TABLE `configuration` ( `id` int(11) UNSIGNED NOT NULL, `config_key` varchar(100) NOT NULL, `config_value` varchar(100) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `configuration` -- INSERT INTO `configuration` (`id`, `config_key`, `config_value`) VALUES (1, 'date_age_reference', '2025-12-31'), (2, 'stickerWidth', '102'), (3, 'stickerHeight', '34'), (4, 'pageWidth', '216'), (5, 'pageHeight', '280'), (6, 'leftMargin', '4'), (7, 'topMargin', '19'), (8, 'horizontalGap', '5'), (9, 'verticalGap', '0'), (10, 'enable_attendance', '0'), (11, 'due_date', '2025-09-21'), (12, 'max_emergency', '1'), (13, 'pass_score', '60'), (14, 'weeks_study', '35'), (15, 'end_school_day', '2026-06-01'), (16, 'max_age', '18'), (17, 'min_age', '5'), (18, 'trophy_score', '94'), (19, 'max_kids', '5'), (20, 'cleanup_timeout', '900'), (21, 'enrollment_deadline', '2025-10-01'), (22, 'school_year', '2025-2026'), (23, 'youth_fee', '200'), (24, 'second_student_fee', '220'), (25, 'first_student_fee', '370'), (26, 'total_semester1_days', '14'), (27, 'semester', 'Fall'), (28, 'refund_deadline', '2025-12-31'), (29, 'total_semester2_days', '13'), (30, 'delete_email_notify', 'support@alrahmaisgl.org, melabidi@alrahmaisgl.org'), (31, 'school_start_date', '2025-09-21'), (32, 'sandbox_secret_paypal', 'Ar0Br3ZhBukQwwdSCxIcSveiu70-Ekt-qqF0nSyYNr3eRAYQKcWTTlhCAKncZiYXmBoPeo4IceV6FjT'), (33, 'sandbox_verifylink_paypal', 'https://api-m.sandbox.paypal.com/v1/notifications/verify-webhook-signature'), (34, 'sandbox_tokenurl_paypal', 'https://api-m.sandbox.paypal.com/v1/oauth2/token'), (35, 'sandbox_clientid_paypal', 'AYsiOekZUvrjgx9C5c554ZeSQ4W6yd0ZX-OHE93_D0fWoa4YXrMmroEeLiAjjdCKkELH8EVZR_yGMLPS'), (36, 'sandbox_webhookid_paypal', '0EU27043LC060650D'), (37, 'production_verifylink_paypal', 'https://api-m.paypal.com/v1/notifications/verify-webhook-signature'), (38, 'production_webhookid_paypal', '0H5876426L0092829'), (39, 'production_secret_paypal', 'KKvmE-0cvwx8rEHnEcFaAvn1Rlc3cy07IGIjqGGPR8EqxABbmPodM_JrjRQq2SF2903A4q0DBjjUWai'), (40, 'production_clientid_paypal', 'AQhCgmypaitgLgretMqNrh_7mEG5fAmwCECxCxevuLDQfsQVwECFyQOU50byzPzFrwd0cVVD8r2lujIB'), (41, 'production_tokenurl_paypal', 'https://api-m.paypal.com/v1/oauth2/token'), (42, 'comment_reviewer', 'administrator, principal'), (43, 'paypal_mode', 'sandbox'); -- -------------------------------------------------------- -- -- Table structure for table `contactus` -- CREATE TABLE `contactus` ( `id` int(11) UNSIGNED NOT NULL, `sender_id` int(11) UNSIGNED NOT NULL, `reciever_id` int(11) UNSIGNED NOT NULL, `subject` varchar(255) NOT NULL, `message` text NOT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `current_flag` -- CREATE TABLE `current_flag` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `student_name` varchar(255) NOT NULL, `grade` varchar(50) NOT NULL, `flag` enum('payment','attendance','grade','behavior','other') NOT NULL, `flag_datetime` datetime NOT NULL, `flag_state` enum('Open','Closed','Canceled') DEFAULT 'Open', `updated_by_open` int(11) DEFAULT NULL, `open_description` text DEFAULT NULL, `updated_by_closed` int(11) DEFAULT NULL, `close_description` text DEFAULT NULL, `updated_by_canceled` int(11) DEFAULT NULL, `cancel_description` text DEFAULT NULL, `semester` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `school_year` varchar(9) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `discount_usages` -- CREATE TABLE `discount_usages` ( `id` int(11) UNSIGNED NOT NULL, `voucher_id` int(11) NOT NULL, `invoice_id` int(11) UNSIGNED NOT NULL, `parent_id` int(11) DEFAULT NULL, `discount_amount` decimal(10,2) NOT NULL DEFAULT 0.00, `school_year` varchar(9) NOT NULL, `updated_by` int(11) DEFAULT NULL, `used_at` datetime DEFAULT current_timestamp(), `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp(), `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `discount_vouchers` -- CREATE TABLE `discount_vouchers` ( `id` int(11) UNSIGNED NOT NULL, `code` varchar(50) NOT NULL, `discount_type` enum('percent','fixed') NOT NULL DEFAULT 'percent', `discount_value` decimal(10,2) NOT NULL, `max_uses` int(11) DEFAULT 1, `times_used` int(11) DEFAULT 0, `valid_from` date DEFAULT NULL, `valid_until` date DEFAULT NULL, `is_active` tinyint(1) DEFAULT 1, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `emergency_contacts` -- CREATE TABLE `emergency_contacts` ( `id` int(11) UNSIGNED NOT NULL, `emergency_contact_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `parent_id` int(11) DEFAULT NULL, `cellphone` varchar(20) NOT NULL, `email` varchar(255) DEFAULT NULL, `relation` varchar(50) NOT NULL, `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `enrollments` -- CREATE TABLE `enrollments` ( `id` int(10) UNSIGNED NOT NULL, `student_id` int(10) UNSIGNED NOT NULL, `class_section_id` int(10) UNSIGNED DEFAULT NULL, `parent_id` int(10) UNSIGNED NOT NULL, `enrollment_date` date NOT NULL, `enrollment_status` enum('admission under review','payment pending','enrolled','withdraw under review','refund pending','withdrawn') NOT NULL DEFAULT 'admission under review', `withdrawal_date` date DEFAULT NULL, `is_withdrawn` tinyint(1) NOT NULL DEFAULT 0, `admission_status` enum('pending','accepted','denied') NOT NULL DEFAULT 'pending', `semester` varchar(25) DEFAULT NULL, `school_year` varchar(25) NOT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `events` -- CREATE TABLE `events` ( `id` int(11) UNSIGNED NOT NULL, `event_name` varchar(255) NOT NULL, `description` text DEFAULT NULL, `amount` decimal(10,2) NOT NULL, `flyer` varchar(255) DEFAULT NULL, `expiration_date` date NOT NULL, `semester` varchar(50) DEFAULT NULL, `school_year` varchar(9) DEFAULT NULL, `created_by` int(11) UNSIGNED DEFAULT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `event_charges` -- CREATE TABLE `event_charges` ( `id` int(11) UNSIGNED NOT NULL, `event_id` int(11) UNSIGNED NOT NULL, `parent_id` int(11) UNSIGNED DEFAULT NULL, `student_id` int(11) UNSIGNED DEFAULT NULL, `participation` enum('yes','no') DEFAULT NULL, `charged` tinyint(1) DEFAULT 0, `semester` varchar(50) DEFAULT NULL, `school_year` varchar(9) DEFAULT NULL, `updated_by` int(11) UNSIGNED DEFAULT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `examquestiondistribution` -- CREATE TABLE `examquestiondistribution` ( `id` int(11) NOT NULL, `exam_distribution_id` int(11) NOT NULL, `exam_id` int(11) NOT NULL, `question_type_id` int(11) NOT NULL, `num_questions` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `examquestions` -- CREATE TABLE `examquestions` ( `id` int(11) NOT NULL, `exam_question_id` int(11) NOT NULL, `exam_id` int(11) NOT NULL, `question_id` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `exams` -- CREATE TABLE `exams` ( `id` int(11) UNSIGNED NOT NULL, `student_id` char(36) NOT NULL, `student_school_id` char(36) NOT NULL, `class_section_id` int(11) NOT NULL, `exam_name` varchar(100) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp() ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `expenses` -- CREATE TABLE `expenses` ( `id` int(11) UNSIGNED NOT NULL, `category` enum('Expense','Purchase','Reimbursement') NOT NULL, `amount` decimal(10,2) NOT NULL, `receipt_path` varchar(255) DEFAULT NULL, `description` text DEFAULT NULL, `purchased_by` int(11) UNSIGNED DEFAULT NULL, `added_by` int(11) UNSIGNED NOT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL, `status` enum('pending','approved','denied') NOT NULL DEFAULT 'pending', `status_reason` text DEFAULT NULL, `updated_by` int(11) UNSIGNED DEFAULT NULL, `approved_by` int(11) UNSIGNED DEFAULT NULL, `reimbursement_id` int(11) UNSIGNED DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `final_exam` -- CREATE TABLE `final_exam` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) NOT NULL, `score` float DEFAULT NULL, `semester` varchar(25) NOT NULL DEFAULT 'Spring', `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `final_score` -- CREATE TABLE `final_score` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) NOT NULL, `score` float NOT NULL, `score_letter` varchar(9) DEFAULT NULL, `comment` text DEFAULT NULL, `school_year` varchar(9) NOT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `semester` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `flag` -- CREATE TABLE `flag` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `student_name` varchar(255) NOT NULL, `grade` varchar(50) NOT NULL, `flag` enum('payment','attendance','grade','behavior','other') NOT NULL, `flag_datetime` datetime NOT NULL, `flag_state` enum('Closed','Canceled') NOT NULL, `updated_by_open` int(11) DEFAULT NULL, `open_description` text DEFAULT NULL, `updated_by_closed` int(11) DEFAULT NULL, `close_description` text DEFAULT NULL, `updated_by_canceled` int(11) DEFAULT NULL, `cancel_description` text DEFAULT NULL, `semester` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `school_year` varchar(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `homework` -- CREATE TABLE `homework` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) NOT NULL, `homework_index` tinyint(4) DEFAULT NULL, `score` float DEFAULT NULL, `comment` text DEFAULT NULL, `semester` varchar(25) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `invoices` -- CREATE TABLE `invoices` ( `id` int(11) UNSIGNED NOT NULL, `parent_id` int(11) NOT NULL, `invoice_number` varchar(50) NOT NULL, `total_amount` decimal(10,2) NOT NULL DEFAULT 0.00, `balance` decimal(10,2) DEFAULT 0.00, `paid_amount` decimal(10,2) NOT NULL DEFAULT 0.00, `has_discount` tinyint(1) NOT NULL DEFAULT 0 COMMENT '1 if discount applied, 0 no discount', `issue_date` date NOT NULL, `due_date` date DEFAULT NULL, `status` varchar(50) NOT NULL DEFAULT '''unpaid''', `description` text DEFAULT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(), `updated_by` int(11) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `invoice_event` -- CREATE TABLE `invoice_event` ( `id` int(11) UNSIGNED NOT NULL, `invoice_id` int(11) UNSIGNED NOT NULL, `event_name` varchar(255) NOT NULL, `description` text DEFAULT NULL, `amount` decimal(10,2) NOT NULL, `semester` varchar(50) DEFAULT NULL, `school_year` varchar(9) DEFAULT NULL, `updated_by` int(11) UNSIGNED DEFAULT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `invoice_students_list` -- CREATE TABLE `invoice_students_list` ( `id` int(11) UNSIGNED NOT NULL, `invoice_id` int(11) UNSIGNED NOT NULL, `student_id` int(11) UNSIGNED NOT NULL, `student_firstname` varchar(100) NOT NULL, `student_lastname` varchar(100) NOT NULL, `school_id` int(11) UNSIGNED NOT NULL, `enrolled` tinyint(1) DEFAULT 1, `school_year` varchar(9) NOT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `ip_attempts` -- CREATE TABLE `ip_attempts` ( `id` int(11) UNSIGNED NOT NULL, `ip_address` varchar(45) NOT NULL, `attempts` int(11) NOT NULL DEFAULT 0, `last_attempt_at` datetime NOT NULL, `blocked_until` datetime DEFAULT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `login_activity` -- CREATE TABLE `login_activity` ( `id` int(11) UNSIGNED NOT NULL, `user_id` int(11) NOT NULL, `email` varchar(255) NOT NULL, `login_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `logout_time` timestamp NULL DEFAULT NULL, `ip_address` varchar(255) NOT NULL, `user_agent` varchar(255) NOT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `longanswerquestions` -- CREATE TABLE `longanswerquestions` ( `id` int(11) NOT NULL, `la_question_id` int(11) NOT NULL, `question_id` int(11) NOT NULL, `correct_answer` text DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `manual_payments` -- CREATE TABLE `manual_payments` ( `id` int(11) UNSIGNED NOT NULL, `invoice_number` varchar(100) DEFAULT NULL, `amount` decimal(10,2) DEFAULT NULL, `payment_method` varchar(100) DEFAULT NULL, `reference` varchar(255) DEFAULT NULL, `discount_number` int(11) DEFAULT NULL, `proof_path` varchar(255) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `messages` -- CREATE TABLE `messages` ( `id` int(11) UNSIGNED NOT NULL, `sender_id` int(11) NOT NULL, `recipient_id` int(11) NOT NULL, `subject` varchar(255) NOT NULL, `message` text NOT NULL, `sent_datetime` datetime NOT NULL, `read_status` tinyint(1) NOT NULL DEFAULT 0, `read_datetime` datetime DEFAULT NULL, `message_number` varchar(20) NOT NULL, `priority` varchar(10) NOT NULL DEFAULT 'normal', `attachment` varchar(255) DEFAULT NULL, `status` varchar(10) NOT NULL DEFAULT 'sent', `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `midterm_exam` -- CREATE TABLE `midterm_exam` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) NOT NULL, `score` float DEFAULT NULL, `comment` text DEFAULT NULL, `semester` varchar(25) NOT NULL DEFAULT 'Fall', `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `migrations` -- CREATE TABLE `migrations` ( `id` int(11) UNSIGNED NOT NULL, `version` varchar(255) NOT NULL, `class` varchar(255) NOT NULL, `group` varchar(255) NOT NULL, `namespace` varchar(255) NOT NULL, `time` int(11) NOT NULL, `batch` int(11) UNSIGNED NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `notifications` -- CREATE TABLE `notifications` ( `id` int(11) UNSIGNED NOT NULL, `title` varchar(255) DEFAULT NULL, `message` text NOT NULL, `target_group` enum('student','parent','teacher','admin','everyone') NOT NULL, `delivery_channels` set('in_app','email','sms') NOT NULL, `priority` enum('low','normal','high') DEFAULT 'normal', `status` enum('pending','sent','failed') DEFAULT 'pending', `action_url` varchar(512) DEFAULT NULL, `attachment_path` varchar(512) DEFAULT NULL, `scheduled_at` datetime DEFAULT current_timestamp(), `sent_at` datetime DEFAULT NULL, `expires_at` datetime DEFAULT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `deleted_at` datetime DEFAULT NULL, `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `notification_recipients` -- CREATE TABLE `notification_recipients` ( `id` int(11) UNSIGNED NOT NULL, `notification_id` int(11) UNSIGNED NOT NULL, `user_id` int(11) UNSIGNED NOT NULL, `status` enum('unread','read','delivered','failed') DEFAULT 'unread', `delivered_at` datetime DEFAULT NULL, `read_at` datetime DEFAULT NULL, `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `parents` -- CREATE TABLE `parents` ( `id` int(11) NOT NULL, `secondparent_firstname` varchar(100) NOT NULL, `secondparent_lastname` varchar(100) NOT NULL, `secondparent_gender` enum('Male','Female') DEFAULT NULL, `secondparent_email` varchar(150) NOT NULL, `secondparent_phone` varchar(15) NOT NULL, `firstparent_id` int(11) NOT NULL, `secondparent_id` int(11) NOT NULL, `semester` varchar(10) DEFAULT NULL, `school_year` varchar(20) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `participation` -- CREATE TABLE `participation` ( `id` int(10) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) NOT NULL, `score` float DEFAULT NULL, `comment` text DEFAULT NULL, `semester` varchar(25) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `participation_score` -- CREATE TABLE `participation_score` ( `id` int(10) UNSIGNED NOT NULL, `student_id` int(10) UNSIGNED NOT NULL, `school_id` char(100) NOT NULL, `class_section_id` int(10) UNSIGNED DEFAULT NULL, `teacher_id` int(10) UNSIGNED DEFAULT NULL, `score` float DEFAULT NULL, `semester` varchar(20) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `password_resets` -- CREATE TABLE `password_resets` ( `id` int(11) UNSIGNED NOT NULL, `email` varchar(255) NOT NULL, `token` varchar(255) NOT NULL, `created_at` datetime NOT NULL, `expires_at` datetime NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `password_reset_requests` -- CREATE TABLE `password_reset_requests` ( `id` int(10) UNSIGNED NOT NULL, `ip_address` varchar(45) NOT NULL, `requested_at` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `payments` -- CREATE TABLE `payments` ( `id` int(11) UNSIGNED NOT NULL, `parent_id` int(11) UNSIGNED NOT NULL, `invoice_id` int(11) UNSIGNED NOT NULL, `total_amount` decimal(10,2) NOT NULL, `paid_amount` decimal(10,2) NOT NULL DEFAULT 0.00, `balance` decimal(10,2) NOT NULL, `number_of_installments` int(11) NOT NULL, `transaction_id` varchar(100) DEFAULT NULL, `check_file` varchar(255) DEFAULT NULL, `check_number` varchar(100) DEFAULT NULL, `payment_method` varchar(50) NOT NULL DEFAULT 'Unknown', `payment_date` date NOT NULL, `semester` varchar(10) DEFAULT NULL, `school_year` varchar(9) DEFAULT NULL, `status` varchar(50) NOT NULL DEFAULT 'Pending', `updated_by` int(11) DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `payment_error` -- CREATE TABLE `payment_error` ( `id` int(11) UNSIGNED NOT NULL, `payment_id` int(11) NOT NULL, `invoice_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL, `wrong_paid_amount` decimal(10,2) NOT NULL, `wrong_payment_method` varchar(50) NOT NULL, `wrong_check_file` varchar(255) DEFAULT NULL, `error_note` varchar(255) DEFAULT NULL, `logged_at` datetime NOT NULL, `logged_by` int(11) DEFAULT NULL, `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `payment_transactions` -- CREATE TABLE `payment_transactions` ( `id` int(11) UNSIGNED NOT NULL, `transaction_id` varchar(100) NOT NULL, `payment_id` int(11) NOT NULL, `transaction_date` datetime DEFAULT current_timestamp(), `amount` decimal(10,2) NOT NULL, `payment_method` varchar(50) NOT NULL, `payment_status` varchar(50) NOT NULL DEFAULT 'Pending', `transaction_fee` decimal(10,2) DEFAULT 0.00, `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `paypal_payments` -- CREATE TABLE `paypal_payments` ( `id` int(11) UNSIGNED NOT NULL, `webhook_id` varchar(64) DEFAULT NULL, `parent_school_id` varchar(64) DEFAULT NULL, `order_id` varchar(64) DEFAULT NULL, `transaction_id` varchar(64) DEFAULT NULL, `status` varchar(32) DEFAULT NULL, `amount` decimal(10,2) DEFAULT NULL, `currency` varchar(10) DEFAULT NULL, `paypal_fee` decimal(10,2) DEFAULT NULL, `net_amount` decimal(10,2) DEFAULT NULL, `payer_email` varchar(128) DEFAULT NULL, `merchant_id` varchar(64) DEFAULT NULL, `event_type` varchar(64) DEFAULT NULL, `summary` text DEFAULT NULL, `raw_payload` longtext DEFAULT NULL, `synced` tinyint(1) NOT NULL DEFAULT 0, `sync_attempts` int(11) NOT NULL DEFAULT 0, `created_at` datetime DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `paypal_transactions` -- CREATE TABLE `paypal_transactions` ( `id` int(11) NOT NULL, `transaction_id` varchar(100) NOT NULL, `payment_id` int(11) DEFAULT NULL, `firstname` varchar(100) DEFAULT NULL, `lastname` varchar(100) DEFAULT NULL, `event_type` varchar(100) NOT NULL, `payer_email` varchar(255) DEFAULT NULL, `amount` decimal(10,2) NOT NULL DEFAULT 0.00, `currency` varchar(10) NOT NULL, `status` varchar(50) NOT NULL DEFAULT 'Pending', `payment_method` varchar(50) NOT NULL, `transaction_fee` decimal(10,2) NOT NULL DEFAULT 0.00, `raw_data` text DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `permissions` -- CREATE TABLE `permissions` ( `id` int(11) UNSIGNED NOT NULL, `name` varchar(255) NOT NULL, `description` text DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `permissions` -- INSERT INTO `permissions` (`id`, `name`, `description`, `created_at`, `updated_at`) VALUES (1, 'view_dashboard', 'Permission to view the admin dashboard', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (2, 'access_admin_panel', 'Permission to access the administration panel', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (3, 'manage_users', 'Permission to manage users (create, update, delete)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (4, 'create_user', 'Permission to create new users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (5, 'edit_user', 'Permission to edit existing users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (6, 'delete_user', 'Permission to delete users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (7, 'view_user_list', 'Permission to view the list of users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (8, 'view_user_profile', 'Permission to view individual user profiles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (9, 'edit_user_profile', 'Permission to edit user profiles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (10, 'deactivate_user', 'Permission to deactivate a user account', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (11, 'activate_user', 'Permission to reactivate a deactivated user account', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (12, 'reset_user_password', 'Permission to reset user passwords', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (13, 'manage_roles', 'Permission to manage roles (create, edit, delete)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (14, 'create_role', 'Permission to create a new role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (15, 'edit_role', 'Permission to edit an existing role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (16, 'delete_role', 'Permission to delete a role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (17, 'view_roles', 'Permission to view the list of roles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (18, 'assign_role', 'Permission to assign roles to users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (19, 'edit_role_permissions', 'Permission to edit permissions assigned to roles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (20, 'manage_content', 'Permission to manage all types of content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (21, 'create_content', 'Permission to create new content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (22, 'edit_content', 'Permission to edit existing content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (23, 'delete_content', 'Permission to delete content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (24, 'publish_content', 'Permission to publish content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (25, 'unpublish_content', 'Permission to unpublish content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (26, 'view_content_list', 'Permission to view all content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (27, 'archive_content', 'Permission to archive old content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (28, 'upload_files', 'Permission to upload files and media', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (29, 'delete_files', 'Permission to delete uploaded files', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (30, 'view_files', 'Permission to view and access uploaded files', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (31, 'manage_file_storage', 'Permission to manage file storage settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (32, 'manage_security_settings', 'Permission to manage security settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (33, 'view_security_logs', 'Permission to view security and audit logs', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (34, 'access_sensitive_data', 'Permission to access sensitive or personally identifiable information (PII)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (35, 'manage_password_policy', 'Permission to configure and enforce password policies', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (36, 'view_login_activity', 'Permission to view login activities of users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (37, 'view_failed_login_attempts', 'Permission to view failed login attempts for the system', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (38, 'manage_system_settings', 'Permission to manage system-wide settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (39, 'edit_system_settings', 'Permission to edit system configuration (e.g., database, APIs)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (40, 'view_system_settings', 'Permission to view current system settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (41, 'manage_api_keys', 'Permission to manage API keys', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (42, 'view_system_logs', 'Permission to view system activity and error logs', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (43, 'configure_email_settings', 'Permission to configure the email server settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (44, 'view_reports', 'Permission to view system reports', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (45, 'generate_reports', 'Permission to generate and download reports', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (46, 'export_data', 'Permission to export data in various formats', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (47, 'view_analytics_dashboard', 'Permission to view the analytics dashboard', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (48, 'manage_billing', 'Permission to manage billing, payments, and subscriptions', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (49, 'view_billing_history', 'Permission to view past transactions and billing history', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (50, 'issue_refunds', 'Permission to issue refunds to users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (51, 'view_invoice_list', 'Permission to view all invoices', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (52, 'view_audit_logs', 'Permission to view audit logs for system actions', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (53, 'perform_compliance_checks', 'Permission to perform and manage compliance checks', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (54, 'view_data_privacy_logs', 'Permission to view logs related to GDPR and data privacy activities', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (55, 'manage_notifications', 'Permission to configure and send notifications (email, SMS, etc.)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (56, 'view_notification_history', 'Permission to view the notification history sent by the system', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (57, 'send_system_alerts', 'Permission to send system-wide alerts', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (58, 'manage_backups', 'Permission to configure and manage system backups', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (59, 'perform_backup', 'Permission to manually initiate a backup of the system', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (60, 'restore_backup', 'Permission to restore a backup', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (61, 'manage_tasks', 'Permission to manage tasks and workflow configurations', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (62, 'assign_tasks', 'Permission to assign tasks to users or teams', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (63, 'view_task_list', 'Permission to view the list of tasks', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (64, 'mark_task_complete', 'Permission to mark a task as completed', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (65, 'view_api_logs', 'Permission to view API usage logs', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (66, 'manage_integrations', 'Permission to manage system integrations (third-party tools, webhooks, etc.)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (67, 'manage_api_access', '', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (68, 'manage_teams', 'Permission to create, edit, and delete teams', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (69, 'assign_team_roles', 'Permission to assign team roles and permissions', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (70, 'view_team_members', 'Permission to view team member information', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (71, 'manage_projects', 'Permission to create and manage projects', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (72, 'assign_project_tasks', 'Permission to assign tasks within projects', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (73, 'impersonate_user', 'Permission to impersonate other users for troubleshooting', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (74, 'access_admin_as_other_role', 'Permission to access the admin panel as a different role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (75, 'shutdown_system', 'Permission to shut down the system in case of emergencies', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (76, 'manage_database', 'Permission to manage (backup, restore, optimize) the database', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (77, 'view_dashboard', 'Permission to view the admin dashboard', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (78, 'access_admin_panel', 'Permission to access the administration panel', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (79, 'view_own_grades', 'Permission for students to view their own grades', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (80, 'view_own_assignments', 'Permission for students to view their own assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (81, 'submit_assignments', 'Permission for students to submit assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (82, 'view_course_materials', 'Permission for students to view course materials', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (83, 'view_timetable', 'Permission for students to view their own timetable or schedule', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (84, 'view_own_attendance', 'Permission for students to view their attendance records', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (85, 'manage_students', 'Permission to manage (add, edit, remove) students in their class', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (86, 'grade_assignments', 'Permission to grade student assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (87, 'view_all_students', 'Permission to view all students in their class', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (88, 'view_class_attendance', 'Permission to view class attendance', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (89, 'manage_course_materials', 'Permission to upload and manage course materials', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (90, 'create_assignments', 'Permission to create new assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (91, 'edit_assignments', 'Permission to edit existing assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (92, 'view_teacher_reports', 'Permission to view reports related to the teachers class or subjects', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (93, 'view_class_timetable', 'Permission to view the class timetable', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (94, 'view_child_grades', 'Permission for parents to view their childs grades', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (95, 'view_child_attendance', 'Permission for parents to view their childs attendance records', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (96, 'view_child_assignments', 'Permission for parents to view assignments assigned to their child', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (97, 'communicate_with_teachers', 'Permission for parents to communicate with teachers', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (98, 'view_child_timetable', 'Permission for parents to view their childs timetable', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (99, 'view_school_announcements', 'Permission for parents to view school announcements or notices', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (100, 'manage_school_events', 'Permission to manage school events and announcements', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (101, 'manage_class_schedules', 'Permission to manage class schedules', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (102, 'manage_student_enrollment', 'Permission to manage student enrollment and records', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (103, 'view_all_reports', 'Permission to view all school-wide reports', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (104, 'manage_facilities', 'Permission to manage school facilities (library, labs, etc.)', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (105, 'view_school_timetable', 'Permission to view the overall school timetable', '2024-09-21 15:58:00', '2024-09-21 15:58:00'), (106, 'parent_dashboard', 'Permission to view the parent dashboard', '2024-09-21 17:23:01', '2024-09-21 17:23:01'), (107, 'teacher_dashboard', 'Permission to view teacher dashboard', '2024-09-21 15:57:22', '2024-09-21 15:57:22'), (108, 'invoice_pdf', 'Permission to view invoice PDFs', '2025-08-27 16:10:57', NULL); -- -------------------------------------------------------- -- -- Table structure for table `preferences` -- CREATE TABLE `preferences` ( `id` int(11) NOT NULL, `user_id` int(11) NOT NULL, `receive_email_notifications` tinyint(1) DEFAULT 1, `receive_sms_notifications` tinyint(1) DEFAULT 0, `theme` varchar(50) DEFAULT 'light', `language` varchar(10) DEFAULT 'en', `timezone` varchar(50) DEFAULT 'UTC', `receive_push_notifications` tinyint(1) DEFAULT 0, `daily_summary_email` tinyint(1) DEFAULT 1, `privacy_mode` tinyint(1) DEFAULT 0, `marketing_emails` tinyint(1) DEFAULT 1, `account_activity_alerts` tinyint(1) DEFAULT 1, `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `school_year` varchar(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `project` -- CREATE TABLE `project` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) NOT NULL, `project_index` tinyint(4) DEFAULT NULL, `score` float DEFAULT NULL, `comment` text DEFAULT NULL, `semester` varchar(25) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `qcmquestions` -- CREATE TABLE `qcmquestions` ( `id` int(11) NOT NULL, `qcm_question_id` int(11) NOT NULL, `question_id` int(11) NOT NULL, `answer_a` text NOT NULL, `answer_b` text NOT NULL, `answer_c` text DEFAULT NULL, `answer_d` text DEFAULT NULL, `answer_e` text DEFAULT NULL, `correct_answer` char(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `questions` -- CREATE TABLE `questions` ( `id` int(11) NOT NULL, `question_id` int(11) NOT NULL, `chapter_id` int(11) NOT NULL, `question_type_id` int(11) NOT NULL, `question_text` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `questionstruefalse` -- CREATE TABLE `questionstruefalse` ( `id` int(11) NOT NULL, `tf_question_id` int(11) NOT NULL, `question_id` int(11) NOT NULL, `correct_answer` tinyint(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `questiontypes` -- CREATE TABLE `questiontypes` ( `id` int(11) NOT NULL, `question_type_id` int(11) NOT NULL, `question_type_name` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `quiz` -- CREATE TABLE `quiz` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) NOT NULL, `teacher_id` int(11) NOT NULL, `quiz_index` tinyint(11) NOT NULL, `score` float DEFAULT NULL, `comment` text DEFAULT NULL, `semester` varchar(25) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `refunds` -- CREATE TABLE `refunds` ( `id` int(11) UNSIGNED NOT NULL, `parent_id` int(11) UNSIGNED NOT NULL, `school_year` varchar(20) NOT NULL, `invoice_id` int(11) UNSIGNED DEFAULT NULL, `refund_amount` decimal(10,2) NOT NULL, `requested_at` datetime NOT NULL DEFAULT current_timestamp(), `approved_at` datetime DEFAULT NULL, `refunded_at` datetime DEFAULT NULL, `status` enum('Pending','Partial','Approved','Rejected','Paid') NOT NULL DEFAULT 'Pending', `reason` varchar(255) DEFAULT NULL, `refund_paid_amount` decimal(10,2) NOT NULL, `request` varchar(25) DEFAULT NULL, `note` text DEFAULT NULL, `approved_by` int(11) UNSIGNED DEFAULT NULL, `updated_by` int(11) UNSIGNED DEFAULT NULL, `refund_method` enum('Check','Online','Cash') DEFAULT NULL, `check_nbr` varchar(100) DEFAULT NULL, `check_file` varchar(255) DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `reimbursements` -- CREATE TABLE `reimbursements` ( `id` int(11) UNSIGNED NOT NULL, `expense_id` int(11) UNSIGNED DEFAULT NULL, `amount` decimal(10,2) NOT NULL, `reimbursed_to` int(11) UNSIGNED NOT NULL, `approved_by` int(11) UNSIGNED DEFAULT NULL, `receipt_path` varchar(255) DEFAULT NULL, `description` text DEFAULT NULL, `status` enum('Pending','Approved','Rejected','Paid') DEFAULT 'Pending', `added_by` int(11) UNSIGNED NOT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL, `check_number` varchar(100) DEFAULT NULL, `reimbursement_method` enum('Cash','Check') DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `roles` -- CREATE TABLE `roles` ( `id` int(11) UNSIGNED NOT NULL, `name` varchar(255) NOT NULL, `description` text DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `roles` -- INSERT INTO `roles` (`id`, `name`, `description`, `created_at`, `updated_at`) VALUES (1, 'administrator', 'Oversees all administrative functions of the school', '2024-07-10 22:11:23', '2024-08-02 03:30:42'), (2, 'principal', 'Responsible for overall school management and operations', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (3, 'vice_principal', 'Assists the principal in administrative duties', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (4, 'teacher', 'Delivers classroom instruction', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (5, 'teacher_assistant', 'Supports the lead teacher in instructional duties', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (6, 'student', 'Attends classes and participates in school activities', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (7, 'parent', 'Engages with teachers and school administration about their child', '2024-07-10 22:11:23', '2024-08-02 22:26:11'), (8, 'admin', 'Handles administrative tasks and supports school operations', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (9, 'head of department (communication)', 'Oversees the Communication department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (10, 'head of department (information technology)', 'Oversees the Information Tehcnology department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (11, 'head of department (education)', 'Oversees the Education department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (12, 'head of department (finance)', 'Oversees the Financial department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'), (13, 'guest', 'Oversees all guest functions of the school', '2024-07-12 16:05:03', '2024-08-02 03:36:31'); -- -------------------------------------------------------- -- -- Table structure for table `role_permissions` -- CREATE TABLE `role_permissions` ( `id` int(11) UNSIGNED NOT NULL, `role_id` int(11) NOT NULL, `permission_id` int(11) NOT NULL, `can_create` tinyint(1) DEFAULT 0, `can_read` tinyint(1) DEFAULT 0, `can_update` tinyint(1) DEFAULT 0, `can_delete` tinyint(1) DEFAULT 0, `can_manage` tinyint(1) DEFAULT 0, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `role_permissions` -- INSERT INTO `role_permissions` (`id`, `role_id`, `permission_id`, `can_create`, `can_read`, `can_update`, `can_delete`, `can_manage`, `created_at`, `updated_at`) VALUES (1, 1, 1, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-07-19 17:27:01'), (2, 1, 2, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (3, 1, 3, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (4, 1, 4, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (5, 1, 5, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (6, 1, 6, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (7, 1, 7, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (8, 1, 8, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (9, 1, 9, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (10, 1, 10, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (11, 1, 11, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (12, 1, 12, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (13, 1, 13, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (14, 1, 14, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (15, 1, 15, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'), (16, 2, 1, 1, 1, 1, 1, 0, '2024-08-31 04:34:16', '2024-08-31 05:01:31'), (17, 2, 3, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (18, 2, 4, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (19, 2, 6, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (20, 2, 9, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (21, 2, 2, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (22, 2, 7, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (23, 2, 8, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (24, 2, 10, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (25, 2, 11, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (26, 2, 12, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (27, 2, 13, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (28, 2, 14, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (29, 2, 15, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (31, 7, 106, 1, 1, 1, 1, 0, '2024-09-21 16:23:42', '2024-09-21 16:23:42'), (35, 14, 106, 0, 1, 0, 0, 0, '2024-09-28 05:20:31', '2024-09-28 05:20:31'), (32, 5, 1, 1, 1, 1, 1, 0, '2024-08-31 05:02:50', '2024-08-31 05:02:50'), (33, 6, 5, 1, 1, 1, 1, 0, '2024-08-31 05:03:02', '2024-08-31 05:03:02'), (38, 4, 107, 1, 1, 1, 1, 0, '2024-09-23 15:20:04', '2024-09-23 15:20:04'), (36, 8, 6, 1, 1, 1, 1, 0, '2024-08-31 15:36:52', '2024-08-31 15:36:52'), (37, 11, 3, 1, 1, 1, 1, 0, '2024-09-04 14:24:19', '2024-09-04 14:24:19'), (30, 2, 5, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'), (34, 7, 108, 0, 1, 0, 0, 0, '2024-09-21 16:23:42', '2024-09-21 16:23:42'), (39, 1, 108, 1, 1, 1, 1, 1, '2024-07-19 17:27:01', '2024-07-19 17:27:01'); -- -------------------------------------------------------- -- -- Table structure for table `scan_log` -- CREATE TABLE `scan_log` ( `id` int(11) UNSIGNED NOT NULL, `user_id` int(11) NOT NULL, `card_id` varchar(255) DEFAULT NULL, `scan_time` datetime DEFAULT current_timestamp(), `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `score_comments` -- CREATE TABLE `score_comments` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) UNSIGNED NOT NULL, `subject_id` int(11) NOT NULL, `score_type` varchar(50) NOT NULL, `semester` varchar(20) NOT NULL, `school_year` varchar(20) NOT NULL, `comment` text NOT NULL, `commented_by` int(11) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `sections` -- CREATE TABLE `sections` ( `id` int(11) UNSIGNED NOT NULL, `section_name` varchar(100) NOT NULL, `description` text DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `updated_by` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `sections` -- INSERT INTO `sections` (`id`, `section_name`, `description`, `updated_at`, `updated_by`) VALUES (1, '', 'No-Section', '2024-08-16 01:06:30', 1), (2, 'A', 'Section A', '2024-08-16 01:06:30', 1), (3, 'B', 'Section B', '2024-08-16 01:06:30', 1), (4, 'C', 'Section C', '2024-08-16 01:06:30', 1), (5, 'D', 'Section D', '2024-08-16 01:06:30', 1), (6, 'E', 'Section E', '2024-08-16 01:06:30', 1); -- -------------------------------------------------------- -- -- Table structure for table `semester_scores` -- CREATE TABLE `semester_scores` ( `id` int(10) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `school_id` char(36) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) DEFAULT NULL, `homework_avg` float DEFAULT NULL, `quiz_avg` float DEFAULT NULL, `project_avg` float DEFAULT NULL, `midterm_exam_score` float DEFAULT NULL, `final_exam_score` float DEFAULT NULL, `attendance_score` float DEFAULT NULL, `ptap_score` decimal(5,2) DEFAULT NULL, `test_avg` float DEFAULT NULL, `semester_score` float DEFAULT NULL, `semester` varchar(20) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `settings` -- CREATE TABLE `settings` ( `id` int(11) UNSIGNED NOT NULL, `name` varchar(255) NOT NULL, `timezone` varchar(255) NOT NULL, `updated_by` int(11) DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `shortanswerquestions` -- CREATE TABLE `shortanswerquestions` ( `id` int(11) NOT NULL, `sa_question_id` int(11) NOT NULL, `question_id` int(11) NOT NULL, `correct_answer` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `staff` -- CREATE TABLE `staff` ( `id` int(10) UNSIGNED NOT NULL, `firstname` varchar(100) NOT NULL, `lastname` varchar(100) NOT NULL, `email` varchar(150) NOT NULL, `phone` varchar(20) DEFAULT NULL, `role_name` varchar(100) NOT NULL, `school_year` varchar(9) NOT NULL, `active_role` varchar(100) DEFAULT 'Active', `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `user_id` int(11) UNSIGNED NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `students` -- CREATE TABLE `students` ( `id` int(11) UNSIGNED NOT NULL, `school_id` char(100) NOT NULL, `firstname` varchar(255) NOT NULL, `lastname` varchar(255) NOT NULL, `dob` date DEFAULT NULL, `age` int(11) NOT NULL, `gender` varchar(10) NOT NULL, `registration_grade` varchar(50) DEFAULT NULL, `photo_consent` tinyint(1) NOT NULL, `parent_id` int(11) NOT NULL, `registration_date` datetime DEFAULT NULL, `tuition_paid` tinyint(1) NOT NULL DEFAULT 0, `year_of_registration` varchar(25) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `rfid_tag` varchar(100) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL, `is_new` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1 = new student, 0 = returning student' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `student_allergies` -- CREATE TABLE `student_allergies` ( `id` int(11) NOT NULL, `student_id` int(10) UNSIGNED NOT NULL, `allergy` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `student_class` -- CREATE TABLE `student_class` ( `id` int(11) UNSIGNED NOT NULL, `student_id` int(11) NOT NULL, `class_section_id` int(11) DEFAULT NULL, `semester` varchar(255) NOT NULL, `school_year` varchar(25) DEFAULT NULL, `description` text DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `updated_by` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `student_medical_conditions` -- CREATE TABLE `student_medical_conditions` ( `id` int(11) NOT NULL, `student_id` int(10) UNSIGNED NOT NULL, `condition_name` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `support_requests` -- CREATE TABLE `support_requests` ( `id` int(11) UNSIGNED NOT NULL, `user_id` int(11) NOT NULL, `subject` varchar(255) NOT NULL, `message` text NOT NULL, `status` varchar(25) NOT NULL DEFAULT 'open', `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `teacher_class` -- CREATE TABLE `teacher_class` ( `id` int(11) UNSIGNED NOT NULL, `class_section_id` int(11) DEFAULT NULL, `teacher_id` int(11) DEFAULT NULL, `first_ta_id` int(11) DEFAULT NULL, `second_ta_id` int(11) DEFAULT NULL, `semester` varchar(25) NOT NULL, `school_year` varchar(25) DEFAULT NULL, `description` text DEFAULT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `updated_by` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `users` -- CREATE TABLE `users` ( `id` int(11) UNSIGNED NOT NULL, `school_id` int(11) UNSIGNED DEFAULT NULL, `firstname` varchar(255) NOT NULL, `lastname` varchar(255) NOT NULL, `gender` enum('Male','Female') DEFAULT NULL, `cellphone` varchar(25) NOT NULL, `email` varchar(255) NOT NULL, `address_street` varchar(255) NOT NULL, `apt` varchar(25) DEFAULT NULL, `city` varchar(255) NOT NULL, `state` varchar(25) NOT NULL, `zip` varchar(25) NOT NULL, `accept_school_policy` tinyint(1) NOT NULL, `is_verified` tinyint(1) NOT NULL DEFAULT 0, `status` varchar(10) NOT NULL DEFAULT 'Inactive', `is_suspended` tinyint(1) NOT NULL DEFAULT 0, `failed_attempts` int(11) DEFAULT 0, `password` varchar(255) NOT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `token` varchar(255) DEFAULT NULL, `account_id` varchar(255) DEFAULT NULL, `user_type` enum('primary','secondary','tertiary') DEFAULT 'primary', `semester` varchar(255) NOT NULL, `school_year` varchar(9) DEFAULT NULL, `rfid_tag` varchar(100) DEFAULT NULL, `last_failed_at` datetime DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- -- Dumping data for table `users` -- INSERT INTO `users` (`id`, `school_id`, `firstname`, `lastname`, `gender`, `cellphone`, `email`, `address_street`, `apt`, `city`, `state`, `zip`, `accept_school_policy`, `is_verified`, `status`, `is_suspended`, `failed_attempts`, `password`, `created_at`, `updated_at`, `token`, `account_id`, `user_type`, `semester`, `school_year`, `rfid_tag`, `last_failed_at`) VALUES (1, 2500001, 'AdminFirstName', 'AdminLastName', 'Male', '0001234569', 'administrator@gmail.com', '2 bfbg', '', 'lowell', 'ma', '0000', 1, 1, 'Active', 0, 0, 'sha256$100000$c754c0c1d5926b6961c8d1eb3e5453b0$b1da71cea3e52b1669f15434136242e3a73019174a503d5fe1744ea57c1a0d4f65b566c198fd9389b4c6f6b702597644e2509f921df36083b058bed92493c583', '2024-08-02 00:24:41', '2025-08-31 17:28:44', NULL, 'ACC00000001', 'primary', '', '2024-2025', '000000001', NULL); -- -------------------------------------------------------- -- -- Table structure for table `user_notifications` -- CREATE TABLE `user_notifications` ( `id` int(11) UNSIGNED NOT NULL, `notification_id` int(11) NOT NULL, `user_id` int(11) NOT NULL, `is_read` tinyint(1) DEFAULT 0, `delivered` tinyint(1) DEFAULT 0, `delivered_at` datetime DEFAULT NULL, `school_year` varchar(20) DEFAULT NULL, `semester` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `user_preferences` -- CREATE TABLE `user_preferences` ( `id` int(11) UNSIGNED NOT NULL, `user_id` int(11) NOT NULL, `notification_email` tinyint(1) DEFAULT 1, `notification_sms` tinyint(1) DEFAULT 1, `theme` varchar(50) DEFAULT 'light', `language` varchar(50) DEFAULT 'en', `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `user_roles` -- CREATE TABLE `user_roles` ( `id` int(11) UNSIGNED NOT NULL, `user_id` int(11) UNSIGNED NOT NULL, `role_id` int(11) UNSIGNED NOT NULL, `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `deleted_at` datetime DEFAULT NULL, `updated_by` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -- Dumping data for table `user_roles` -- INSERT INTO `user_roles` (`id`, `user_id`, `role_id`, `created_at`, `updated_at`, `deleted_at`, `updated_by`) VALUES (1, 1, 1, '2025-09-01 01:36:34', '2025-09-01 01:36:34', NULL, NULL); -- -- Indexes for dumped tables -- -- -- Indexes for table `attendance_data` -- ALTER TABLE `attendance_data` ADD PRIMARY KEY (`id`); -- -- Indexes for table `attendance_record` -- ALTER TABLE `attendance_record` ADD PRIMARY KEY (`id`); -- -- Indexes for table `attendance_tracking` -- ALTER TABLE `attendance_tracking` ADD PRIMARY KEY (`id`), ADD KEY `student_id` (`student_id`); -- -- Indexes for table `authorized_users` -- ALTER TABLE `authorized_users` ADD PRIMARY KEY (`id`); -- -- Indexes for table `calendar_events` -- ALTER TABLE `calendar_events` ADD PRIMARY KEY (`id`); -- -- Indexes for table `chapters` -- ALTER TABLE `chapters` ADD PRIMARY KEY (`id`); -- -- Indexes for table `classes` -- ALTER TABLE `classes` ADD PRIMARY KEY (`id`); -- -- Indexes for table `classSection` -- ALTER TABLE `classSection` ADD PRIMARY KEY (`id`); -- -- Indexes for table `class_preparation_log` -- ALTER TABLE `class_preparation_log` ADD PRIMARY KEY (`id`); -- -- Indexes for table `configuration` -- ALTER TABLE `configuration` ADD PRIMARY KEY (`id`); -- -- Indexes for table `contactus` -- ALTER TABLE `contactus` ADD PRIMARY KEY (`id`); -- -- Indexes for table `current_flag` -- ALTER TABLE `current_flag` ADD PRIMARY KEY (`id`); -- -- Indexes for table `discount_usages` -- ALTER TABLE `discount_usages` ADD PRIMARY KEY (`id`); -- -- Indexes for table `discount_vouchers` -- ALTER TABLE `discount_vouchers` ADD PRIMARY KEY (`id`); -- -- Indexes for table `emergency_contacts` -- ALTER TABLE `emergency_contacts` ADD PRIMARY KEY (`id`); -- -- Indexes for table `enrollments` -- ALTER TABLE `enrollments` ADD PRIMARY KEY (`id`), ADD KEY `student_id` (`student_id`), ADD KEY `class_section_id` (`class_section_id`), ADD KEY `parent_id` (`parent_id`); -- -- Indexes for table `events` -- ALTER TABLE `events` ADD PRIMARY KEY (`id`); -- -- Indexes for table `event_charges` -- ALTER TABLE `event_charges` ADD PRIMARY KEY (`id`); -- -- Indexes for table `examquestiondistribution` -- ALTER TABLE `examquestiondistribution` ADD PRIMARY KEY (`id`); -- -- Indexes for table `examquestions` -- ALTER TABLE `examquestions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `exams` -- ALTER TABLE `exams` ADD PRIMARY KEY (`id`); -- -- Indexes for table `expenses` -- ALTER TABLE `expenses` ADD PRIMARY KEY (`id`); -- -- Indexes for table `final_exam` -- ALTER TABLE `final_exam` ADD PRIMARY KEY (`id`); -- -- Indexes for table `final_score` -- ALTER TABLE `final_score` ADD PRIMARY KEY (`id`); -- -- Indexes for table `flag` -- ALTER TABLE `flag` ADD PRIMARY KEY (`id`); -- -- Indexes for table `homework` -- ALTER TABLE `homework` ADD PRIMARY KEY (`id`); -- -- Indexes for table `invoices` -- ALTER TABLE `invoices` ADD PRIMARY KEY (`id`); -- -- Indexes for table `invoice_event` -- ALTER TABLE `invoice_event` ADD PRIMARY KEY (`id`); -- -- Indexes for table `invoice_students_list` -- ALTER TABLE `invoice_students_list` ADD PRIMARY KEY (`id`); -- -- Indexes for table `ip_attempts` -- ALTER TABLE `ip_attempts` ADD PRIMARY KEY (`id`); -- -- Indexes for table `login_activity` -- ALTER TABLE `login_activity` ADD PRIMARY KEY (`id`); -- -- Indexes for table `longanswerquestions` -- ALTER TABLE `longanswerquestions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `manual_payments` -- ALTER TABLE `manual_payments` ADD PRIMARY KEY (`id`); -- -- Indexes for table `messages` -- ALTER TABLE `messages` ADD PRIMARY KEY (`id`); -- -- Indexes for table `midterm_exam` -- ALTER TABLE `midterm_exam` ADD PRIMARY KEY (`id`); -- -- Indexes for table `migrations` -- ALTER TABLE `migrations` ADD PRIMARY KEY (`id`); -- -- Indexes for table `notifications` -- ALTER TABLE `notifications` ADD PRIMARY KEY (`id`); -- -- Indexes for table `notification_recipients` -- ALTER TABLE `notification_recipients` ADD PRIMARY KEY (`id`); -- -- Indexes for table `parents` -- ALTER TABLE `parents` ADD PRIMARY KEY (`id`); -- -- Indexes for table `participation` -- ALTER TABLE `participation` ADD PRIMARY KEY (`id`); -- -- Indexes for table `participation_score` -- ALTER TABLE `participation_score` ADD PRIMARY KEY (`id`), ADD KEY `idx_student_id` (`student_id`), ADD KEY `idx_class_section_id` (`class_section_id`), ADD KEY `idx_teacher_id` (`teacher_id`); -- -- Indexes for table `password_resets` -- ALTER TABLE `password_resets` ADD PRIMARY KEY (`id`); -- -- Indexes for table `password_reset_requests` -- ALTER TABLE `password_reset_requests` ADD PRIMARY KEY (`id`); -- -- Indexes for table `payments` -- ALTER TABLE `payments` ADD PRIMARY KEY (`id`); -- -- Indexes for table `payment_error` -- ALTER TABLE `payment_error` ADD PRIMARY KEY (`id`); -- -- Indexes for table `payment_transactions` -- ALTER TABLE `payment_transactions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `paypal_payments` -- ALTER TABLE `paypal_payments` ADD PRIMARY KEY (`id`); -- -- Indexes for table `paypal_transactions` -- ALTER TABLE `paypal_transactions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `permissions` -- ALTER TABLE `permissions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `preferences` -- ALTER TABLE `preferences` ADD PRIMARY KEY (`id`); -- -- Indexes for table `project` -- ALTER TABLE `project` ADD PRIMARY KEY (`id`); -- -- Indexes for table `qcmquestions` -- ALTER TABLE `qcmquestions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `questions` -- ALTER TABLE `questions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `questionstruefalse` -- ALTER TABLE `questionstruefalse` ADD PRIMARY KEY (`id`); -- -- Indexes for table `questiontypes` -- ALTER TABLE `questiontypes` ADD PRIMARY KEY (`id`); -- -- Indexes for table `quiz` -- ALTER TABLE `quiz` ADD PRIMARY KEY (`id`); -- -- Indexes for table `refunds` -- ALTER TABLE `refunds` ADD PRIMARY KEY (`id`); -- -- Indexes for table `reimbursements` -- ALTER TABLE `reimbursements` ADD PRIMARY KEY (`id`); -- -- Indexes for table `roles` -- ALTER TABLE `roles` ADD PRIMARY KEY (`id`); -- -- Indexes for table `role_permissions` -- ALTER TABLE `role_permissions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `scan_log` -- ALTER TABLE `scan_log` ADD PRIMARY KEY (`id`); -- -- Indexes for table `score_comments` -- ALTER TABLE `score_comments` ADD PRIMARY KEY (`id`); -- -- Indexes for table `sections` -- ALTER TABLE `sections` ADD PRIMARY KEY (`id`); -- -- Indexes for table `semester_scores` -- ALTER TABLE `semester_scores` ADD PRIMARY KEY (`id`), ADD KEY `idx_student_id` (`student_id`), ADD KEY `idx_semester_school_year` (`semester`,`school_year`); -- -- Indexes for table `settings` -- ALTER TABLE `settings` ADD PRIMARY KEY (`id`); -- -- Indexes for table `shortanswerquestions` -- ALTER TABLE `shortanswerquestions` ADD PRIMARY KEY (`id`); -- -- Indexes for table `staff` -- ALTER TABLE `staff` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `email` (`email`), ADD UNIQUE KEY `user_id` (`user_id`); -- -- Indexes for table `students` -- ALTER TABLE `students` ADD PRIMARY KEY (`id`); -- -- Indexes for table `student_allergies` -- ALTER TABLE `student_allergies` ADD PRIMARY KEY (`id`), ADD KEY `student_id` (`student_id`); -- -- Indexes for table `student_class` -- ALTER TABLE `student_class` ADD PRIMARY KEY (`id`); -- -- Indexes for table `student_medical_conditions` -- ALTER TABLE `student_medical_conditions` ADD PRIMARY KEY (`id`), ADD KEY `student_id` (`student_id`); -- -- Indexes for table `support_requests` -- ALTER TABLE `support_requests` ADD PRIMARY KEY (`id`); -- -- Indexes for table `teacher_class` -- ALTER TABLE `teacher_class` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `unique_teacher_assignment` (`teacher_id`,`class_section_id`,`semester`,`school_year`), ADD UNIQUE KEY `unique_first_ta_assignment` (`first_ta_id`,`class_section_id`,`semester`,`school_year`), ADD UNIQUE KEY `unique_second_ta_assignment` (`second_ta_id`,`class_section_id`,`semester`,`school_year`); -- -- Indexes for table `users` -- ALTER TABLE `users` ADD PRIMARY KEY (`id`); -- -- Indexes for table `user_notifications` -- ALTER TABLE `user_notifications` ADD PRIMARY KEY (`id`); -- -- Indexes for table `user_preferences` -- ALTER TABLE `user_preferences` ADD PRIMARY KEY (`id`); -- -- Indexes for table `user_roles` -- ALTER TABLE `user_roles` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `attendance_data` -- ALTER TABLE `attendance_data` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `attendance_record` -- ALTER TABLE `attendance_record` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `attendance_tracking` -- ALTER TABLE `attendance_tracking` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `authorized_users` -- ALTER TABLE `authorized_users` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `calendar_events` -- ALTER TABLE `calendar_events` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19; -- -- AUTO_INCREMENT for table `chapters` -- ALTER TABLE `chapters` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `classes` -- ALTER TABLE `classes` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; -- -- AUTO_INCREMENT for table `classSection` -- ALTER TABLE `classSection` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=50; -- -- AUTO_INCREMENT for table `class_preparation_log` -- ALTER TABLE `class_preparation_log` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `configuration` -- ALTER TABLE `configuration` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=44; -- -- AUTO_INCREMENT for table `contactus` -- ALTER TABLE `contactus` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `current_flag` -- ALTER TABLE `current_flag` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `discount_usages` -- ALTER TABLE `discount_usages` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `discount_vouchers` -- ALTER TABLE `discount_vouchers` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `emergency_contacts` -- ALTER TABLE `emergency_contacts` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `enrollments` -- ALTER TABLE `enrollments` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `events` -- ALTER TABLE `events` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `event_charges` -- ALTER TABLE `event_charges` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `examquestiondistribution` -- ALTER TABLE `examquestiondistribution` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `examquestions` -- ALTER TABLE `examquestions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `exams` -- ALTER TABLE `exams` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `expenses` -- ALTER TABLE `expenses` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `final_exam` -- ALTER TABLE `final_exam` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `final_score` -- ALTER TABLE `final_score` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `flag` -- ALTER TABLE `flag` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `homework` -- ALTER TABLE `homework` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `invoices` -- ALTER TABLE `invoices` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `invoice_event` -- ALTER TABLE `invoice_event` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `invoice_students_list` -- ALTER TABLE `invoice_students_list` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `ip_attempts` -- ALTER TABLE `ip_attempts` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `login_activity` -- ALTER TABLE `login_activity` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `longanswerquestions` -- ALTER TABLE `longanswerquestions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `manual_payments` -- ALTER TABLE `manual_payments` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `messages` -- ALTER TABLE `messages` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `midterm_exam` -- ALTER TABLE `midterm_exam` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `migrations` -- ALTER TABLE `migrations` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `notifications` -- ALTER TABLE `notifications` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `notification_recipients` -- ALTER TABLE `notification_recipients` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `parents` -- ALTER TABLE `parents` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `participation` -- ALTER TABLE `participation` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `password_resets` -- ALTER TABLE `password_resets` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `password_reset_requests` -- ALTER TABLE `password_reset_requests` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `payments` -- ALTER TABLE `payments` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `payment_error` -- ALTER TABLE `payment_error` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `payment_transactions` -- ALTER TABLE `payment_transactions` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `paypal_payments` -- ALTER TABLE `paypal_payments` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `paypal_transactions` -- ALTER TABLE `paypal_transactions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `permissions` -- ALTER TABLE `permissions` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=109; -- -- AUTO_INCREMENT for table `preferences` -- ALTER TABLE `preferences` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `project` -- ALTER TABLE `project` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `qcmquestions` -- ALTER TABLE `qcmquestions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `questions` -- ALTER TABLE `questions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `questionstruefalse` -- ALTER TABLE `questionstruefalse` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `questiontypes` -- ALTER TABLE `questiontypes` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `quiz` -- ALTER TABLE `quiz` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `refunds` -- ALTER TABLE `refunds` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `reimbursements` -- ALTER TABLE `reimbursements` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `roles` -- ALTER TABLE `roles` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; -- -- AUTO_INCREMENT for table `role_permissions` -- ALTER TABLE `role_permissions` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=40; -- -- AUTO_INCREMENT for table `scan_log` -- ALTER TABLE `scan_log` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `score_comments` -- ALTER TABLE `score_comments` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `sections` -- ALTER TABLE `sections` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; -- -- AUTO_INCREMENT for table `semester_scores` -- ALTER TABLE `semester_scores` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `settings` -- ALTER TABLE `settings` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `shortanswerquestions` -- ALTER TABLE `shortanswerquestions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `staff` -- ALTER TABLE `staff` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `students` -- ALTER TABLE `students` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `student_allergies` -- ALTER TABLE `student_allergies` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `student_class` -- ALTER TABLE `student_class` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `student_medical_conditions` -- ALTER TABLE `student_medical_conditions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `support_requests` -- ALTER TABLE `support_requests` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `teacher_class` -- ALTER TABLE `teacher_class` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `users` -- ALTER TABLE `users` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; -- -- AUTO_INCREMENT for table `user_notifications` -- ALTER TABLE `user_notifications` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `user_preferences` -- ALTER TABLE `user_preferences` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `user_roles` -- ALTER TABLE `user_roles` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; -- -- Constraints for dumped tables -- -- -- Constraints for table `attendance_tracking` -- ALTER TABLE `attendance_tracking` ADD CONSTRAINT `attendance_tracking_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `students` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `student_allergies` -- ALTER TABLE `student_allergies` ADD CONSTRAINT `student_allergies_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `students` (`id`) ON DELETE CASCADE; -- -- Constraints for table `student_medical_conditions` -- ALTER TABLE `student_medical_conditions` ADD CONSTRAINT `student_medical_conditions_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `students` (`id`) ON DELETE CASCADE; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;