Blog

Prisma ORM: esquema seguro, migraciones sin drama, tipos automáticos

Cómo usar Prisma para mantener base de datos y código en sincronía con seguridad de tipos.

#prisma#orm#base-de-datos#backend#typescript

Prisma elimina mucho del dolor de trabajar con bases de datos. Un esquema declara tu estructura. Migraciones la aplican. Y Prisma genera tipos TypeScript automáticamente.

Esquema Prisma: la fuente de verdad de tu modelo de datos

El schema.prisma define tablas, relaciones, tipos. Es declarativo y legible. Cuando cambias algo, Prisma te ayuda a generar migración automáticamente.

La ventaja sobre SQL puro es que Prisma entiende relaciones y puede generar código helper automáticamente.

  • Tablas, campos, tipos en un sitio.
  • Relaciones explícitas (one-to-many, many-to-many).
  • Índices y constraints declarados.

Migraciones: cambia estructura sin perder datos

Cuando cambias schema, ejecutas prisma migrate dev. Prisma genera SQL de migración automáticamente, la ejecuta y actualiza tu código generado.

Si algo está roto, Prisma lo detecta. Si la migración es ambigua, te pregunta. El resultado es que migraciones son seguras y reproducibles.

  1. Edita schema.prisma.
  2. Ejecuta prisma migrate dev.
  3. Revisa la migración generada (está en prisma/migrations/).
  4. En producción, usa prisma migrate deploy.

Tipos generados automáticamente

Prisma genera tipos TypeScript basado en tu schema. Eso significa que si cambias la base de datos, los tipos se actualizan automáticamente. Nunca tendrás tipos desincronizados del schema.

Eso es seguridad de tipos de verdad: el compilador se asegura que las queries retornan lo que esperas.

  • Prisma genera tipos en @prisma/client.
  • Tus queries tienen autocomplete y verificación.
  • Cambios en schema actualizan tipos automáticamente.

Queries seguras sin SQL a mano

En lugar de escribir SQL, usas la API de Prisma. findUnique, create, update, delete. Cada una es type-safe y previene inyección SQL automáticamente.

Para queries complejas, puedes usar raw SQL cuando lo necesites, pero la mayoría del tiempo la API te alcanza.

Prisma no es un ORM que te obliga a uno. Es una herramienta que hace queries seguras y type-safe la opción fácil.

Relaciones y eager loading

Prisma entiende relaciones uno-a-muchos, muchos-a-muchos, etc. Puedes cargar datos relacionados en la misma query sin múltiples viajes a BD.

Eso reduce N+1 queries, el problema más común de performance en aplicaciones.

04 / Contacto

¿Hablamos de tu próximo sistema?

Cuéntame el problema que quieres resolver. Respondo en un día laborable y planteo una ruta de acción en el primer mensaje.

Iniciar conversación →