Update Saqel Platform: 2026-08-28 04:45:18

This commit is contained in:
Hamza-Ayed
2026-08-28 04:45:18 +03:00
parent cad7b7aa2b
commit 8d22e78821
2 changed files with 143 additions and 28 deletions
+57 -1
View File
@@ -9,6 +9,8 @@ SET FOREIGN_KEY_CHECKS = 0;
-- ------------------------------------------------------------------------------
-- DROP ALL EXISTING TABLES IN REVERSE ORDER TO PREVENT FOREIGN KEY CONFLICTS
-- ------------------------------------------------------------------------------
DROP TABLE IF EXISTS `teacher_reviews`;
DROP TABLE IF EXISTS `teacher_performance_metrics`;
DROP TABLE IF EXISTS `chat_messages`;
DROP TABLE IF EXISTS `student_mastery_analytics`;
DROP TABLE IF EXISTS `student_question_answers`;
@@ -153,13 +155,17 @@ CREATE TABLE IF NOT EXISTS `lessons` (
`course_id` BIGINT UNSIGNED NOT NULL,
`title` VARCHAR(255) NOT NULL,
`sequence_order` INT UNSIGNED NOT NULL DEFAULT 1,
`bunny_video_id` VARCHAR(100) NOT NULL,
`video_uuid` VARCHAR(64) DEFAULT NULL,
`hls_url` VARCHAR(500) DEFAULT NULL,
`timeline_chapters_json` JSON DEFAULT NULL,
`bunny_video_id` VARCHAR(100) DEFAULT NULL,
`duration_seconds` INT UNSIGNED NOT NULL DEFAULT 0,
`is_free_preview` TINYINT(1) NOT NULL DEFAULT 0,
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_lessons_course` (`course_id`),
KEY `idx_lessons_video_uuid` (`video_uuid`),
CONSTRAINT `fk_lessons_course` FOREIGN KEY (`course_id`) REFERENCES `courses` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -406,4 +412,54 @@ CREATE TABLE IF NOT EXISTS `chat_messages` (
CONSTRAINT `fk_chat_lesson` FOREIGN KEY (`lesson_id`) REFERENCES `lessons` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ------------------------------------------------------------------------------
-- 19. Table: teacher_reviews (تقييمات الطلاب المعايرة والمحصنة ضد الكيد)
-- ------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `teacher_reviews` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`teacher_id` BIGINT UNSIGNED NOT NULL,
`student_id` BIGINT UNSIGNED NOT NULL,
`course_id` BIGINT UNSIGNED DEFAULT NULL,
`lesson_id` BIGINT UNSIGNED DEFAULT NULL,
`rating_overall` DECIMAL(3, 2) NOT NULL DEFAULT 5.00,
`rating_clarity` INT NOT NULL DEFAULT 5,
`rating_response_speed` INT NOT NULL DEFAULT 5,
`rating_socratic_interaction` INT NOT NULL DEFAULT 5,
`review_text` TEXT DEFAULT NULL,
`review_weight` DECIMAL(4, 3) NOT NULL DEFAULT 1.000,
`student_watch_percentage` DECIMAL(5, 2) NOT NULL DEFAULT 100.00,
`socratic_accuracy_rate` DECIMAL(5, 2) NOT NULL DEFAULT 100.00,
`is_flagged_anomaly` TINYINT(1) NOT NULL DEFAULT 0,
`is_verified` TINYINT(1) NOT NULL DEFAULT 1,
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_tr_teacher` (`teacher_id`),
KEY `idx_tr_student` (`student_id`),
CONSTRAINT `fk_tr_teacher` FOREIGN KEY (`teacher_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_tr_student` FOREIGN KEY (`student_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ------------------------------------------------------------------------------
-- 20. Table: teacher_performance_metrics (مؤشرات الجدارة وسرعة الرد مع خوارزمية الطابور العادل)
-- ------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `teacher_performance_metrics` (
`teacher_id` BIGINT UNSIGNED NOT NULL,
`avg_response_minutes` INT NOT NULL DEFAULT 4,
`response_rate_percentage` DECIMAL(5, 2) NOT NULL DEFAULT 98.50,
`active_queue_count` INT UNSIGNED NOT NULL DEFAULT 0,
`total_students_enrolled` INT UNSIGNED NOT NULL DEFAULT 0,
`total_reviews_count` INT UNSIGNED NOT NULL DEFAULT 0,
`raw_avg_rating` DECIMAL(3, 2) NOT NULL DEFAULT 5.00,
`weighted_student_rating` DECIMAL(3, 2) NOT NULL DEFAULT 5.00,
`ai_engagement_score` DECIMAL(5, 2) NOT NULL DEFAULT 96.00,
`sla_speed_score` DECIMAL(5, 2) NOT NULL DEFAULT 98.00,
`mastery_impact_score` DECIMAL(5, 2) NOT NULL DEFAULT 94.00,
`composite_merit_score` DECIMAL(5, 2) NOT NULL DEFAULT 96.50,
`star_equivalent` DECIMAL(3, 2) NOT NULL DEFAULT 4.90,
`reputation_tier` VARCHAR(100) NOT NULL DEFAULT 'معلم نخبوي معتمد 💎',
`last_calculated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`teacher_id`),
CONSTRAINT `fk_tpm_teacher` FOREIGN KEY (`teacher_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
SET FOREIGN_KEY_CHECKS = 1;