Fix student grade registration: set grade_10 as default, add auto-heal for legacy tawjihi_2008, add student grade selector and update-grade API
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__DIR__) . '/app/bootstrap.php';
|
||||
|
||||
use App\Core\Database;
|
||||
|
||||
echo "🔧 Starting Saqel Student Grade Repair Engine...\n";
|
||||
|
||||
try {
|
||||
Database::query("ALTER TABLE students ALTER COLUMN grade_level SET DEFAULT 'grade_10'");
|
||||
echo " ✓ Altered students.grade_level default to 'grade_10'\n";
|
||||
} catch (\Throwable $e) {
|
||||
echo " ℹ Note on students alter: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
try {
|
||||
Database::query("ALTER TABLE school_rosters ALTER COLUMN grade_level SET DEFAULT 'grade_10'");
|
||||
echo " ✓ Altered school_rosters.grade_level default to 'grade_10'\n";
|
||||
} catch (\Throwable $e) {
|
||||
echo " ℹ Note on school_rosters alter: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
try {
|
||||
$affectedStudents = Database::query("UPDATE students SET grade_level = 'grade_10' WHERE grade_level IN ('tawjihi_2008', 'grade_12')");
|
||||
echo " ✓ Updated obsolete tawjihi_2008/grade_12 students to 'grade_10'\n";
|
||||
} catch (\Throwable $e) {
|
||||
echo " ❌ Error updating students: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
try {
|
||||
$affectedRosters = Database::query("UPDATE school_rosters SET grade_level = 'grade_10' WHERE grade_level IN ('tawjihi_2008', 'grade_12')");
|
||||
echo " ✓ Updated obsolete tawjihi_2008/grade_12 rosters to 'grade_10'\n";
|
||||
} catch (\Throwable $e) {
|
||||
echo " ❌ Error updating rosters: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
echo "🎉 Grade repair completed successfully!\n";
|
||||
Reference in New Issue
Block a user