-- EnglishSpeak: sửa Completion XP bị thiếu ở dữ liệu cũ
-- Chỉ áp dụng cho Activity đã completed nhưng xp_earned đang bằng 0.
-- Không cộng thêm vào tổng XP tài khoản và không tạo XP event mới.

UPDATE student_content_progress AS scp
JOIN activities AS a
  ON a.id = scp.content_id
SET scp.xp_earned =
    CASE
        WHEN COALESCE(a.xp_reward, 0) > 0
            THEN a.xp_reward
        ELSE 10
    END
WHERE scp.content_type = 'activity'
  AND scp.status = 'completed'
  AND COALESCE(scp.xp_earned, 0) = 0;
