Update Saqel Platform: 2026-08-28 04:45:18
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user