Saltar al contenido

Lección 9 de 12 · Lectura y práctica

Express con Prisma y PostgreSQL

Respuesta rapida: Combinar Express con Prisma y PostgreSQL permite crear APIs persistentes con modelos tipados, migraciones y consultas legibles. Que vas a construir Combinar Express con Prisma y PostgreSQL permite crear APIs.

Del concepto a la práctica

Taller de esta lección

La persistencia relacional exige definir entidades, relaciones y reglas de integridad antes de escribir consultas. Prisma puede encapsular el acceso, pero no decide por ti si una inscripción duplicada es válida ni qué hacer cuando falta un curso.

Ejemplo resuelto

Usa tres registros: usuario u1, curso c1 y una inscripción i1 que relaciona ambos. La operación POST /enrollments debe verificar que u1 y c1 existan y que no haya otra relación igual. Una restricción única sobre usuario y curso refuerza la regla en la base de datos; el servicio traduce la violación a un conflicto HTTP.

Modelo conceptual: User(id), Course(id) y Enrollment(id, userId, courseId) con relaciones y @@unique([userId, courseId]) en Enrollment. Vincula userId a la identidad autenticada; no permitas que el body elija otra persona. Para Prisma 7 sigue su configuración y cliente generado actuales, incluidos salida explícita y adaptador PostgreSQL; un ejemplo de Prisma 6 con importación desde @prisma/client no es una receta universal para la versión nueva. La restricción evita duplicados incluso con peticiones simultáneas.

Pruébalo

  1. Dibuja entidades y claves antes del modelo.

  2. Define relaciones y restricciones únicas.

  3. Encapsula la consulta en un servicio o repositorio.

  4. Prueba creación, duplicado y referencia inexistente.

Error frecuente: llamar al cliente de datos desde cada ruta. Corrígelo concentrando consultas y decisiones de dominio en una capa reutilizable.

Comprueba tu resultado

Con u1, c1 e i1, una segunda inscripción idéntica no debe generar i2; debe producir conflicto. Un courseId c9 inexistente debe producir 404 y dejar intacta la tabla de inscripciones.

Tablas de clientes y pedidos: INNER JOIN conserva coincidencias y LEFT JOIN conserva también a Luis sin pedidos.
CursaloMapa de práctica
Relacionar tablas sin perder filas

Una clave conecta cada pedido con su cliente. INNER JOIN devuelve las coincidencias y puede producir varias filas por cliente. LEFT JOIN conserva también los clientes sin pedido y representa los campos ausentes con NULL.

Ver la infografía en tamaño completo ↗
Fuentes para profundizar
Respuesta rapida: Combinar Express con Prisma y PostgreSQL permite crear APIs persistentes con modelos tipados, migraciones y consultas legibles.

Que vas a construir

Combinar Express con Prisma y PostgreSQL permite crear APIs persistentes con modelos tipados, migraciones y consultas legibles.

Paso 1: criterio de backend

El patron recomendable es que las rutas no llamen Prisma directamente. Usa servicios o repositorios para encapsular consultas, transacciones y reglas del dominio.

Paso 2: criterio de backend

Un caso simple de portfolio puede tener cursos, usuarios e inscripciones. Asi demostras relaciones, filtros, paginacion y manejo de errores de base de datos.

Paso 3: criterio de backend

Documenta variables de entorno, migraciones y seed de datos. Un proyecto que otro puede correr en 10 minutos vale mas que una demo que solo funciona en tu maquina.

Ejercicio practico para portfolio

Construye una mini API de cursos, usuarios o empleos con Express.js. Inclui rutas claras, validacion, errores consistentes y un README que explique como correr el proyecto. La meta es que un reclutador o cliente vea que podes pasar de tutorial a backend mantenible.

  • Entregable: repositorio con endpoint, ejemplo de request y respuesta esperada.
  • Checklist: status codes correctos, validacion, logs, seguridad basica y pruebas manuales reproducibles.
  • Salida laboral: conecta el proyecto con rutas de carreras, empleos y servicios backend del marketplace.

Sigue con Express.js y Node.js para APIs profesionales

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.