¿Qué es Prisma?
Prisma ORM es un ORM de próxima generación que consta de estas herramientas:
- Cliente Prisma : generador de consultas generado automáticamente y con seguridad de tipos para Node.js y TypeScript
- Prisma Migrate : Sistema de migración y modelado de datos declarativos
- Prisma Studio : GUI para ver y editar datos en su base de datos
El Cliente Prisma se puede usar en cualquier aplicación backend de Node.js o TypeScript (incluidas las aplicaciones sin servidor y los microservicios). Puede ser una API REST , una API GraphQL , una API gRPC o cualquier otra que requiera una base de datos.
Si necesita una base de datos para usar con Prisma ORM, consulte Prisma Postgres .
Empezando
Inicio rápido (5 minutos)
La forma más rápida de empezar a usar Prisma es seguir las guías de inicio rápido. Puede elegir entre dos bases de datos:
Traiga su propia base de datos
Si ya tienes tu propia base de datos, puedes seguir estas guías:
Cómo funciona Prisma ORM
Esta sección ofrece una descripción general del funcionamiento de Prisma ORM y sus componentes técnicos más importantes. Para una introducción más detallada, consulte la documentación de Prisma .
El esquema Prisma
Todo proyecto que utiliza una herramienta del kit de herramientas Prisma comienza con un archivo de esquema Prisma . Este esquema permite a los desarrolladores definir sus modelos de aplicación en un lenguaje de modelado de datos intuitivo. También incluye la conexión a una base de datos y define un generador .
En este esquema se configuran tres cosas:
- Fuente de datos : especifica su conexión a la base de datos (a través de una variable de entorno)
- Generador : Indica que desea generar Prisma Client
- Modelo de datos : define sus modelos de aplicación
El modelo de datos Prisma
En esta página, nos centramos en el modelo de datos. Puede obtener más información sobre las fuentes de datos y los generadores en las respectivas páginas de documentación.
Funciones de los modelos Prisma
El modelo de datos es una colección de modelos . Un modelo tiene dos funciones principales:
- Representar una tabla en la base de datos subyacente
- Proporcionar la base para las consultas en la API del cliente Prisma
Obtener un modelo de datos
Hay dos flujos de trabajo principales para "incorporar" un modelo de datos en su esquema Prisma:
- Generar el modelo de datos a partir de la introspección de una base de datos
- Escritura manual del modelo de datos y mapeo del mismo a la base de datos con Prisma Migrate
Una vez definido el modelo de datos, puede generar Prisma Client , que expondrá CRUD y más consultas para los modelos definidos. Si usa TypeScript, obtendrá seguridad de tipos completa para todas las consultas (incluso al recuperar solo los subconjuntos de los campos de un modelo).
Acceder a su base de datos con Prisma Client
Generando cliente Prisma
El primer paso al utilizar Prisma Client es instalar su paquete npm:
Tenga en cuenta que la instalación de este paquete invoca el comando prisma generate
, que lee el esquema de Prisma y genera el código del cliente de Prisma. El código se encuentra en node_modules/.prisma/client
, que se exporta mediante node_modules/@prisma/client/index.d.ts
.
Después de cambiar su modelo de datos, deberá volver a generar manualmente Prisma Client para garantizar que el código dentro de node_modules/.prisma/client
se actualice:
Consulte la documentación para obtener más información sobre cómo "generar el cliente Prisma" .
Usar Prisma Client para enviar consultas a su base de datos
Una vez generado el Cliente Prisma, puede importarlo en su código y enviar consultas a su base de datos. Así es como se ve el código de configuración.
Importar e instanciar Prisma Client
Puede importar e instanciar Prisma Client de la siguiente manera:
o
Ahora puede empezar a enviar consultas mediante la API de Prisma Client generada. A continuación, se muestran algunos ejemplos. Tenga en cuenta que todas las consultas de Prisma Client devuelven objetos JavaScript estándar .
Obtenga más información sobre las operaciones disponibles en la documentación del cliente Prisma o mire este video de demostración (2 minutos).
Recuperar todos los registros User
de la base de datos
Incluya la relación posts
en cada objeto User
devuelto
Filtrar todos los registros Post
que contienen "prisma"
Crear un nuevo User
y un nuevo registro de Post
en la misma consulta
Actualizar un registro Post
existente
Uso con TypeScript
Tenga en cuenta que al usar TypeScript, el resultado de esta consulta se tipificará estáticamente para evitar el acceso accidental a una propiedad inexistente (y cualquier error tipográfico se detecta en tiempo de compilación). Obtenga más información sobre cómo aprovechar los tipos generados de Prisma Client en la página " Uso avanzado de tipos generados" de la documentación.
Comunidad
Prisma cuenta con una amplia y solidaria comunidad de desarrolladores de aplicaciones entusiastas. Puedes unirte a nosotros en Discord y aquí en GitHub .
Insignias
¿Creaste algo increíble con Prisma? 🌟 Presúmelo con estas insignias , perfectas para tu archivo Léame o sitio web.
Servidor MCP
La CLI de Prisma incluye un servidor Prisma MCP . Se inicia mediante este comando CLI:
La mayoría de las herramientas de IA admiten una configuración basada en JSON para servidores MCP como la siguiente:
El servidor MCP de Prisma brinda a los agentes de IA la capacidad de administrar las bases de datos Prisma Postgres (por ejemplo, crear nuevas instancias de bases de datos o ejecutar migraciones de esquemas).
Seguridad
Si tiene un problema de seguridad que desea informar, contáctenos en security@prisma.io .
Apoyo
Haz una pregunta sobre Prisma
Puede hacer preguntas e iniciar debates sobre temas relacionados con Prisma en el repositorio de prisma
en GitHub.
Crear un informe de errores para Prisma
Si ves un mensaje de error o tienes algún problema, ¡crea un informe de errores! Puedes encontrar las mejores prácticas para crear informes de errores (como incluir información de depuración adicional) en la documentación.
Enviar una solicitud de función
Si Prisma actualmente no tiene una característica determinada, asegúrese de consultar la hoja de ruta para ver si ya está planificada para el futuro.
Si la función en la hoja de ruta está vinculada a un problema de GitHub, asegúrate de dejar una reacción 👍 en el problema e idealmente un comentario con tus pensamientos sobre la función.
Contribuyendo
Consulte nuestras pautas de contribución y el Código de conducta para contribuyentes .
Estado de las pruebas
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Administre bases de datos Prisma Postgres con facilidad