73 lines
No EOL
2.2 KiB
JavaScript
73 lines
No EOL
2.2 KiB
JavaScript
const { sequelize } = require('../config/database');
|
|
// Import all models to ensure they are registered with Sequelize
|
|
require('../models');
|
|
const { User } = require('../models');
|
|
require('dotenv').config();
|
|
|
|
const setupDatabase = async () => {
|
|
try {
|
|
console.log('🔄 Setting up database...');
|
|
|
|
// Sync database
|
|
await sequelize.sync({ force: true });
|
|
console.log('✅ Database synchronized successfully.');
|
|
|
|
// Create super admin user
|
|
const superAdmin = await User.create({
|
|
firstName: 'Super',
|
|
lastName: 'Admin',
|
|
email: 'admin@courseworx.com',
|
|
password: 'admin123',
|
|
role: 'super_admin',
|
|
phone: '+1234567890',
|
|
isActive: true
|
|
});
|
|
|
|
console.log('✅ Super admin user created successfully.');
|
|
console.log('📧 Email: admin@courseworx.com');
|
|
console.log('🔑 Password: admin123');
|
|
|
|
// Create sample trainer
|
|
const trainer = await User.create({
|
|
firstName: 'John',
|
|
lastName: 'Trainer',
|
|
email: 'trainer@courseworx.com',
|
|
password: 'trainer123',
|
|
role: 'trainer',
|
|
phone: '+1234567891',
|
|
isActive: true
|
|
});
|
|
|
|
console.log('✅ Sample trainer created successfully.');
|
|
console.log('📧 Email: trainer@courseworx.com');
|
|
console.log('🔑 Password: trainer123');
|
|
|
|
// Create sample trainee
|
|
const trainee = await User.create({
|
|
firstName: 'Jane',
|
|
lastName: 'Trainee',
|
|
email: 'trainee@courseworx.com',
|
|
password: 'trainee123',
|
|
role: 'trainee',
|
|
phone: '+1234567892',
|
|
isActive: true
|
|
});
|
|
|
|
console.log('✅ Sample trainee created successfully.');
|
|
console.log('📧 Email: trainee@courseworx.com');
|
|
console.log('🔑 Password: trainee123');
|
|
|
|
console.log('\n🎉 Database setup completed successfully!');
|
|
console.log('\n📋 Default Users:');
|
|
console.log('Super Admin: admin@courseworx.com / admin123');
|
|
console.log('Trainer: trainer@courseworx.com / trainer123');
|
|
console.log('Trainee: trainee@courseworx.com / trainee123');
|
|
|
|
process.exit(0);
|
|
} catch (error) {
|
|
console.error('❌ Database setup failed:', error);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
setupDatabase();
|