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