You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 06:53:10