Files
sena_db_api_layer/check-grades.js
silverpro89 5957636b07
All checks were successful
Deploy to Production / deploy (push) Successful in 29s
update new API
2026-02-09 23:17:03 +07:00

56 lines
1.6 KiB
JavaScript

const { sequelize } = require('./config/database');
const { Vocab } = require('./models');
async function checkGrades() {
try {
await sequelize.authenticate();
// Get unique grades
const grades = await sequelize.query(
`SELECT DISTINCT grade, COUNT(*) as count
FROM vocab
WHERE etc = 'familynfriend'
GROUP BY grade
ORDER BY grade
LIMIT 20`,
{ type: sequelize.QueryTypes.SELECT }
);
console.log('📊 Grade distribution (first 20):');
grades.forEach(g => {
console.log(` Grade ${g.grade}: ${g.count} words`);
});
// Count by major grade (first digit after removing leading zeros)
const majorGrades = await sequelize.query(
`SELECT
CASE
WHEN grade >= 10000 AND grade < 20000 THEN 'Grade 1'
WHEN grade >= 20000 AND grade < 30000 THEN 'Grade 2'
WHEN grade >= 30000 AND grade < 40000 THEN 'Grade 3'
WHEN grade >= 40000 AND grade < 50000 THEN 'Grade 4'
WHEN grade >= 50000 AND grade < 60000 THEN 'Grade 5'
ELSE 'Other'
END as grade_level,
COUNT(*) as count
FROM vocab
WHERE etc = 'familynfriend'
GROUP BY grade_level
ORDER BY grade_level`,
{ type: sequelize.QueryTypes.SELECT }
);
console.log('\n📊 Count by grade level:');
majorGrades.forEach(g => {
console.log(` ${g.grade_level}: ${g.count} words`);
});
process.exit(0);
} catch (error) {
console.error('❌ Error:', error.message);
process.exit(1);
}
}
checkGrades();