60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
|
|
#!/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();
|
||
|
|
|