#!/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();