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
Dibuja entidades y claves antes del modelo.
Define relaciones y restricciones únicas.
Encapsula la consulta en un servicio o repositorio.
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.

Mapa de prácticaUna 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
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.