33 lines
786 B
JavaScript
33 lines
786 B
JavaScript
|
|
const fs = require('fs');
|
||
|
|
const path = require('path');
|
||
|
|
require('dotenv').config();
|
||
|
|
|
||
|
|
async function runSeeders() {
|
||
|
|
console.log('🌱 Starting database seeders...\n');
|
||
|
|
|
||
|
|
const seedersDir = __dirname;
|
||
|
|
const seederFiles = fs
|
||
|
|
.readdirSync(seedersDir)
|
||
|
|
.filter(file => file.endsWith('.js') && file !== 'run-seeders.js')
|
||
|
|
.sort();
|
||
|
|
|
||
|
|
for (const file of seederFiles) {
|
||
|
|
console.log(`📦 Running seeder: ${file}`);
|
||
|
|
const seeder = require(path.join(seedersDir, file));
|
||
|
|
|
||
|
|
try {
|
||
|
|
await seeder.up();
|
||
|
|
console.log(`✅ ${file} completed\n`);
|
||
|
|
} catch (error) {
|
||
|
|
console.error(`❌ ${file} failed:`, error.message);
|
||
|
|
process.exit(1);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('🎉 All seeders completed successfully!');
|
||
|
|
process.exit(0);
|
||
|
|
}
|
||
|
|
|
||
|
|
runSeeders();
|
||
|
|
|