-- پشتیبانی از چند سوال برای هر آزمون
-- پس از اجرای query4.sql این فایل را اجرا کنید.

-- جدول سوالات آزمون
CREATE TABLE IF NOT EXISTS `quiz_questions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `exam_id` int(11) NOT NULL,
  `question` text NOT NULL,
  `option_a` varchar(512) NOT NULL,
  `option_b` varchar(512) NOT NULL,
  `option_c` varchar(512) NOT NULL,
  `option_d` varchar(512) NOT NULL,
  `correct_option` enum('a','b','c','d') NOT NULL DEFAULT 'a',
  `sort_order` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  KEY `exam_id` (`exam_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

-- انتقال سوالات موجود از quiz_exams به quiz_questions
INSERT INTO `quiz_questions` (`exam_id`, `question`, `option_a`, `option_b`, `option_c`, `option_d`, `correct_option`, `sort_order`)
SELECT `id`, `question`, `option_a`, `option_b`, `option_c`, `option_d`, `correct_option`, 0
FROM `quiz_exams`
WHERE `question` IS NOT NULL AND `question` != ''
  AND NOT EXISTS (
    SELECT 1 FROM `quiz_questions` q WHERE q.exam_id = quiz_exams.id LIMIT 1
  );

-- حذف ستون‌های سوال از جدول آزمون
ALTER TABLE `quiz_exams`
  DROP COLUMN IF EXISTS `question`,
  DROP COLUMN IF EXISTS `option_a`,
  DROP COLUMN IF EXISTS `option_b`,
  DROP COLUMN IF EXISTS `option_c`,
  DROP COLUMN IF EXISTS `option_d`,
  DROP COLUMN IF EXISTS `correct_option`;

-- به‌روزرسانی جدول نتایج
ALTER TABLE `quiz_results`
  ADD COLUMN IF NOT EXISTS `correct_count` int(11) NOT NULL DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `total_questions` int(11) NOT NULL DEFAULT 1;

ALTER TABLE `quiz_results`
  DROP COLUMN IF EXISTS `selected_option`;
