const { Sequelize } = require('sequelize'); const config = require('./config/database'); const sequelize = new Sequelize( config.development.database, config.development.username, config.development.password, { host: config.development.host, dialect: config.development.dialect, logging: false } ); async function verifyData() { try { await sequelize.authenticate(); console.log('✅ Database connection established\n'); // Get counts from each table const [categories] = await sequelize.query('SELECT COUNT(*) as count FROM categories'); const [users] = await sequelize.query('SELECT COUNT(*) as count FROM users'); const [questions] = await sequelize.query('SELECT COUNT(*) as count FROM questions'); const [achievements] = await sequelize.query('SELECT COUNT(*) as count FROM achievements'); console.log('📊 Seeded Data Summary:'); console.log('========================'); console.log(`Categories: ${categories[0].count} rows`); console.log(`Users: ${users[0].count} rows`); console.log(`Questions: ${questions[0].count} rows`); console.log(`Achievements: ${achievements[0].count} rows`); console.log('========================\n'); // Verify category names const [categoryList] = await sequelize.query('SELECT name, slug, guest_accessible FROM categories ORDER BY display_order'); console.log('📁 Categories:'); categoryList.forEach(cat => { console.log(` - ${cat.name} (${cat.slug}) ${cat.guest_accessible ? '🔓 Guest' : '🔒 Auth'}`); }); console.log(''); // Verify admin user const [adminUser] = await sequelize.query("SELECT username, email, role FROM users WHERE email = 'admin@quiz.com'"); if (adminUser.length > 0) { console.log('👤 Admin User:'); console.log(` - Username: ${adminUser[0].username}`); console.log(` - Email: ${adminUser[0].email}`); console.log(` - Role: ${adminUser[0].role}`); console.log(' - Password: Admin@123'); console.log(''); } // Verify questions by category const [questionsByCategory] = await sequelize.query(` SELECT c.name, COUNT(q.id) as count FROM categories c LEFT JOIN questions q ON c.id = q.category_id GROUP BY c.id, c.name ORDER BY c.display_order `); console.log('❓ Questions by Category:'); questionsByCategory.forEach(cat => { console.log(` - ${cat.name}: ${cat.count} questions`); }); console.log(''); // Verify achievements by category const [achievementsByCategory] = await sequelize.query(` SELECT category, COUNT(*) as count FROM achievements GROUP BY category ORDER BY category `); console.log('🏆 Achievements by Category:'); achievementsByCategory.forEach(cat => { console.log(` - ${cat.category}: ${cat.count} achievements`); }); console.log(''); console.log('✅ All data seeded successfully!'); process.exit(0); } catch (error) { console.error('❌ Error verifying data:', error.message); process.exit(1); } } verifyData();