codigo0/backend/scripts/verify-setup.js

60 lines
1.9 KiB
JavaScript
Raw Normal View History

2026-01-19 08:10:16 +00:00
#!/usr/bin/env node
/**
* Script de verificación de setup
*
* Verifica que todo esté configurado correctamente antes de ejecutar migraciones
*/
import dotenv from 'dotenv';
import { testConnection } from '../config/database.js';
dotenv.config();
async function main() {
console.log('\n🔍 Verificando configuración...\n');
// Verificar variables de entorno
const required = ['DB_HOST', 'DB_PORT', 'DB_NAME', 'DB_USER'];
const missing = required.filter(key => !process.env[key]);
if (missing.length > 0) {
console.error('❌ Variables de entorno faltantes:', missing.join(', '));
console.error(' Editar backend/.env con los valores correctos\n');
process.exit(1);
}
if (!process.env.DB_PASSWORD) {
console.warn('⚠️ DB_PASSWORD no configurado');
console.warn(' Si PostgreSQL no requiere password, dejar vacío puede funcionar');
console.warn(' Si requiere password, configurarlo en backend/.env\n');
}
console.log('✅ Variables de entorno configuradas');
console.log(` DB_HOST: ${process.env.DB_HOST}`);
console.log(` DB_PORT: ${process.env.DB_PORT}`);
console.log(` DB_NAME: ${process.env.DB_NAME}`);
console.log(` DB_USER: ${process.env.DB_USER}`);
console.log(` DB_PASSWORD: ${process.env.DB_PASSWORD ? '***' : '(vacío)'}\n`);
// Verificar conexión
console.log('🔌 Probando conexión a PostgreSQL...\n');
const connected = await testConnection();
if (connected) {
console.log('\n✅ ¡Todo listo! Puedes continuar con:');
console.log(' npm run db:create\n');
process.exit(0);
} else {
console.log('\n❌ No se pudo conectar a PostgreSQL');
console.log('\n💡 Soluciones:');
console.log(' 1. Verificar que PostgreSQL está corriendo: sudo systemctl status postgresql');
console.log(' 2. Verificar credenciales en backend/.env');
console.log(' 3. Ver guía en backend/CONFIGURAR_PASSWORD.md\n');
process.exit(1);
}
}
main();