Convertidor de Prisma a Zod
Convierte modelos de esquema Prisma a esquemas de validación Zod con inferencia de tipos TypeScript
Entrada
Salida
Leerme
¿Qué son Prisma y Zod?
Prisma es una herramienta ORM (Mapeo Objeto-Relacional) que utiliza un archivo de esquema para definir la estructura de su base de datos con modelos, campos y relaciones. Zod es una biblioteca de validación de esquemas TypeScript-first que le permite definir validadores de tipos en tiempo de ejecución. Convertir esquemas de Prisma a esquemas de Zod le permite reutilizar las definiciones de modelos de base de datos para la validación de entradas, garantizando consistencia entre la estructura de su base de datos y la lógica de validación en toda su aplicación.
Descripción de la herramienta
Esta herramienta convierte automáticamente definiciones de esquemas Prisma en esquemas de validación Zod. Analiza sus modelos, enumeraciones y tipos de campos Prisma, luego genera los esquemas Zod correspondientes con mapeo de tipos apropiado. La herramienta maneja campos opcionales, arrays y tipos especiales de Prisma, creando esquemas de validación listos para TypeScript que reflejan la estructura de su base de datos.
Características
- Mapeo automático de tipos: Convierte tipos Prisma (String, Int, DateTime, etc.) a validadores Zod correspondientes
- Soporte de enumeraciones: Genera esquemas de enumeración Zod a partir de definiciones de enumeración Prisma
- Manejo de arrays: Convierte correctamente campos de lista Prisma a validadores de array Zod
- Campos opcionales: Mantiene definiciones de campos opcionales en los esquemas Zod generados
- Tipos TypeScript: Genera automáticamente definiciones de tipos TypeScript usando
z.infer - Comentarios de relaciones: Agrega comentarios para campos de relación que no pueden convertirse directamente
- Múltiples modelos: Procesa todos los modelos y enumeraciones en un único archivo de esquema Prisma
- Resaltado de sintaxis: Editor de código con resaltado de sintaxis Prisma y TypeScript
Casos de uso
- Validación de entrada API: Validar cuerpos de solicitud contra sus modelos de base de datos
- Validación de formularios: Usar esquemas Zod con bibliotecas de formularios como React Hook Form
- Seguridad de tipos: Asegurar que la validación en tiempo de ejecución coincida con su esquema de base de datos
- Generación de código: Generar automáticamente lógica de validación desde sus modelos de base de datos
- Consistencia: Mantener esquemas de validación sincronizados con la estructura de la base de datos
- Resolvers GraphQL: Validar entradas en resolvers de mutación GraphQL
- Soporte de migración: Actualizar esquemas de validación cuando cambian los modelos de base de datos
Mapeos de tipos soportados
String→z.string()Int,Float,Decimal→z.number()Boolean→z.boolean()DateTime→z.date()Json→z.record(z.any())Bytes→z.instanceof(Buffer)BigInt→z.bigint()- Tipos personalizados/enumeraciones →
z.lazy(() => TypeSchema) - Listas →
z.array() - Campos opcionales →
.optional()