Consola Rails ausente: REPL de BD para NestJS y Prisma

TL;DR Viniendo de Rails y Phoenix echaba de menos una consola interactiva para la base de datos. Por eso creé una para mi stack NestJS y Prisma que emula la experiencia REPL que tanto ayuda en desarrollo.
El problema Muchos frameworks como Ruby on Rails y Elixir Phoenix ofrecen consolas interactivas que facilitan prototipar consultas, explorar modelos de datos y depurar asociaciones complejas al instante. Con NestJS y Prisma existe Prisma Studio como GUI, pero a veces lo que quieres es teclear consultas, experimentar y ver el SQL real generado. Para eso necesitaba una consola tipo Rails.
La solución Construí una pequeña consola REPL en TypeScript que carga el cliente Prisma por defecto, muestra las consultas SQL junto con parámetros y tiempos de ejecución, y gestiona la desconexión limpia al salir. La idea es simple y efectiva: arrancar un script con ts-node, obtener un prompt y poder hacer cosas como await prisma.user.findMany() o await prisma.$queryRaw SELECT COUNT FROM user y ver inmediatamente el SQL y la duración.
Características clave Cliente Prisma precargado para evitar boilerplate, visibilidad del SQL con params y tiempo, ejemplos útiles al iniciar para recordar sintaxis, y manejo correcto de desconexión para no dejar conexiones abiertas.
Ejemplo de uso Agregar un script npm llamado db:console para ejecutar ts-node bin/db-console.ts y luego ejecutar npm run db:console o pnpm db:console. Ideal para exploración de datos, recuentos rápidos, prototipos de consultas complejas y depuración de problemas en producción sin crear scripts temporales.
Impacto real En lugar de crear scripts desechables con console.log, ejecutarlos y borrarlos, ahora se abre la consola, se experimenta y se cierra. Ahorra tiempo y mantiene el flujo de trabajo interactivo que muchos desarrolladores extrañan al dejar Rails o Phoenix.
Cómo montarlo Resumen de ingredientes: el modulo repl de Node, tu PrismaClient, logging de consultas a traves de eventos, handlers de limpieza y algunas utilidades inyectadas en el contexto REPL. Menos de 100 lineas de TypeScript y sin dependencias externas adicionales dentro de un proyecto NestJS con Prisma.
Sobre Q2BSTUDIO En Q2BSTUDIO somos una empresa de desarrollo de software que crea aplicaciones a medida y soluciones de software a medida para empresas que necesitan adaptabilidad y calidad. Ofrecemos desde desarrollo de aplicaciones multiplataforma hasta soluciones de inteligencia artificial para empresas, seguridad y servicios gestionados. Si te interesa externalizar o acelerar tu proyecto puedes conocer nuestro enfoque en desarrollo de aplicaciones a medida y descubrir cómo aplicamos inteligencia artificial en soluciones reales en servicios de inteligencia artificial.
Servicios relacionados y posicionamiento Ofrecemos ciberseguridad y pentesting para proteger tus datos, servicios cloud aws y azure para desplegar infraestructuras escalables, servicios inteligencia de negocio y power bi para explotar tus datos, automatizacion de procesos y agentes ia para optimizar operaciones. Palabras clave que nos representan incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes ia y power bi.
Conclusión Si trabajas con NestJS y Prisma y te encuentras creando muchos scripts puntuales para probar consultas, construir una consola REPL ligera te devolverá velocidad y comodidad. A veces la mejor herramienta es la que te construyes a la medida de tu flujo de trabajo, y en Q2BSTUDIO ayudamos a materializar exactamente ese tipo de soluciones a medida.
Te interesa que montemos una consola así como parte de tu proyecto o integrar capacidades de inteligencia artificial y seguridad en tu plataforma Contacta con nosotros y lo hacemos realidad.
Comentarios