-- ============================================
-- تحديث قيم payment_status في جدول students
-- ============================================
-- التاريخ: 2025-10-09
-- الوصف: تحديث قيم enum في حقل payment_status لتكون متوافقة مع جدول invoices
-- الحالة: اختياري (Recommended)
-- ============================================

-- التحقق من القيم الحالية قبل التعديل
SELECT 
    payment_status,
    COUNT(*) as count
FROM students
GROUP BY payment_status;

-- ============================================
-- الخطوة 1: تحديث القيم الموجودة
-- ============================================

-- تحديث 'cash' إلى 'paid'
UPDATE students 
SET payment_status = 'paid' 
WHERE payment_status = 'cash';

-- التحقق من التحديث
SELECT 
    payment_status,
    COUNT(*) as count
FROM students
GROUP BY payment_status;

-- ============================================
-- الخطوة 2: تعديل نوع الحقل
-- ============================================

-- تعديل enum لإزالة 'cash' وإضافة 'paid'
ALTER TABLE students 
MODIFY COLUMN payment_status ENUM('paid','partial','unpaid') 
NOT NULL DEFAULT 'unpaid'
COMMENT 'حالة السداد: مدفوع، جزئي، غير مدفوع';

-- ============================================
-- التحقق النهائي
-- ============================================

-- عرض هيكل الحقل الجديد
DESCRIBE students payment_status;

-- عرض إحصائيات الحالات
SELECT 
    payment_status,
    COUNT(*) as count,
    ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM students), 2) as percentage
FROM students
GROUP BY payment_status
ORDER BY count DESC;

-- ============================================
-- ملاحظات:
-- ============================================
-- 1. يجب أخذ نسخة احتياطية من قاعدة البيانات قبل التنفيذ
-- 2. تأكد من عدم وجود استعلامات تستخدم القيمة 'cash'
-- 3. يمكن التراجع عن التغيير باستخدام:
--    ALTER TABLE students 
--    MODIFY COLUMN payment_status ENUM('cash','partial','unpaid') 
--    NOT NULL DEFAULT 'unpaid';
-- ============================================


