Files
Goa-gel-fullstack/backend/scripts/run-migrations.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

const knex = require('knex');
const path = require('path');
// Load environment variables
require('dotenv').config({ path: path.join(__dirname, '../.env') });
async function runMigrations() {
const knexConfig = {
client: 'pg',
connection: {
host: process.env.DATABASE_HOST,
port: parseInt(process.env.DATABASE_PORT || '5432', 10),
database: process.env.DATABASE_NAME,
user: process.env.DATABASE_USER,
password: process.env.DATABASE_PASSWORD,
},
migrations: {
directory: path.join(__dirname, '../src/database/migrations'),
tableName: 'knex_migrations',
loadExtensions: ['.ts'],
},
};
const db = knex(knexConfig);
try {
console.log('🔄 Running database migrations...');
await db.migrate.latest();
console.log('✅ Migrations completed successfully!');
console.log('🌱 Running database seeds...');
await db.seed.run({
directory: path.join(__dirname, '../src/database/seeds'),
loadExtensions: ['.ts'],
});
console.log('✅ Seeds completed successfully!');
} catch (error) {
console.error('❌ Migration failed:', error);
process.exit(1);
} finally {
await db.destroy();
}
}
runMigrations();