如何在Drizzle ORM中表示PostgreSQL的bytea数据类型?
在Drizzle ORM中处理PostgreSQL的bytea数据类型
使用pnpm drizzle-kit generate:pg生成Schema时,bytea类型会被标记为unknown,这是因为当前Drizzle Kit的自动解析逻辑暂未覆盖该类型。你可以手动将unknown()替换为Drizzle ORM提供的bytea()类型来解决这个问题。
修改后的Schema代码如下:
import { pgTable, uuid, varchar, bytea, uniqueIndex } from 'drizzle-orm/pg-core'; export const user = pgTable( "user", { id: uuid("id").primaryKey().notNull(), firstname: varchar("firstname", { length: 35 }).notNull(), middlename: varchar("middlename", { length: 35 }), lastname: varchar("lastname", { length: 35 }).notNull(), passphrase: bytea("passphrase").notNull(), salt: bytea("salt").notNull(), email: varchar("email", { length: 50 }).notNull(), }, (table) => { return { email: uniqueIndex("user_email").on(table.email), }; } );
说明
bytea()类型在TypeScript中会自动映射为Buffer类型,适配Node.js处理二进制数据的场景(比如存储加密后的密码哈希或盐值)。- 需确保从
drizzle-orm/pg-core中导入了bytea类型,避免未定义错误。
内容的提问来源于stack exchange,提问作者Vasu Subbannavar
相关产品推荐
相关产品推荐

