Prismとは何か、Zodとは何か?

Prismは、スキーマファイルを使用してモデル、フィールド、リレーションシップでデータベース構造を定義するORM(オブジェクト関連マッピング)ツールです。Zodは、ランタイム型バリデータを定義できるTypeScript優先のスキーマ検証ライブラリです。PrismaスキーマをZodスキーマに変換することで、データベースモデル定義を入力検証に再利用でき、アプリケーション全体でデータベース構造と検証ロジックの一貫性を確保できます。

ツールの説明

このツールは、Prismaスキーマ定義をZod検証スキーマに自動的に変換します。Prismaモデル、列挙型、フィールド型を解析し、適切な型マッピングを使用して対応するZodスキーマを生成します。このツールはオプショナルフィールド、配列、特殊なPrisma型を処理し、データベース構造を反映したTypeScript対応の検証スキーマを作成します。

機能

  • 自動型マッピング: Prisma型(String、Int、DateTimeなど)を対応するZodバリデータに変換
  • 列挙型サポート: Prisma列挙型定義からZod列挙型スキーマを生成
  • 配列処理: Prismaリストフィールドを適切にZod配列バリデータに変換

サポートされている型マッピング

  • Stringz.string()
  • IntFloatDecimalz.number()
  • Booleanz.boolean()
  • DateTimez.date()
  • Jsonz.record(z.any())
  • Bytesz.instanceof(Buffer)
  • BigIntz.bigint()
  • カスタム型/列挙型 → z.lazy(() => TypeSchema)
  • リスト → z.array()
  • オプショナルフィールド → .optional()