School Management
Why Student Academic History Should Never Be Overwritten
It sounds obvious - a student's past academic records shouldn't change after the fact - but it's a surprisingly common failure mode in school software that wasn't designed with multi-year history in mind.
How this quietly goes wrong
If a system stores "current class" as a single field on a student's profile and just overwrites it every year, then every report that ever looked at "this student's Grade 5 performance" retroactively shows their current grade instead, once they've moved on. The data isn't deleted, but it's no longer telling the truth about what happened when.
The fix is structural, not a workaround
The real solution is to never store "current status" as the only copy of the truth. Each academic year a student is part of should be its own separate, closed record - its own attendance, its own marks, its own class and section - that nothing later can silently modify. "Current" is then just "the most recent one," not the only one that exists.
Why this matters beyond neatness
Accurate multi-year history is what makes genuinely useful analysis possible - honestly comparing a student's performance across grades, understanding a slow decline that started two years ago, or simply answering a parent's question about their child's Grade 3 results without guesswork. None of that is possible if the past was never really preserved.