Skip to main content

One post tagged with "zod from database schema"

View All Tags

Database Schema to Prisma, Drizzle, and Zod: Design First, Generate Everything

A user submits a form. Your TypeScript compiles clean. Your Zod validator passes. Your tRPC procedure returns a 200. And somewhere in the response, a column that was supposed to be Date | null arrives as an ISO string — and your frontend renders NaN where a timestamp should be.

You've seen this bug. You've shipped this bug. The type system didn't catch it because the type was never derived from the database in the first place — it was written by hand, approximately correct, and silently wrong.

This is the source-of-truth problem. TypeScript doesn't solve it. Where you define your data model does.