GoForum🌐 V2EX

如何优雅地使用 zod

FlashEcho · 2026-01-06 10:53 · 0 次点赞 · 0 条回复

使用 zod 的时候,下面几个很难受的地方:

  • 数据库的 orm 框架用的是 drizzle ,这个时候得先用 drizzle 定义数据库 schema ,没法优先使用 zod 定义 schema ,导出成 drizzle 数据库表

  • 由于在数据库端 drizzle 优先了,在后端服务端有两种选择:

    1. 直接用 drizzle-zod 导出的 insert, select 等 schema ,后端服务直接用这个导出的 schema ,这样最方便,但是这个 schema 无形中变宽松了,有大量 optional ,而且如果有多种 insert 情况,就失去了严格的约束
    2. 再在后端手写一套 zod schema ,但是这样就会有大量重复和冗余,而且程序员需要自己手动维护 zod schema 和数据库 schema 的同步。这实际上是一个逻辑或者说业务上的实体,但是没法从一个唯一来源只写一次导出到处用,在服务和数据库上重复写了两次,也很难受

请问各位大佬是怎么处理这种问题的

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: FlashEcho
发布: 2026-01-06
点赞: 0
回复: 0