Drizzle <> Neon Postgres

This guide assumes familiarity with:

Drizzle 原生支持与 neon-httpneon-websockets 驱动程序的 Neon 连接。这些操作在底层使用了 neon-serverless 驱动程序。

使用 neon-httpneon-websockets 驱动程序,你可以通过 HTTP 或 WebSockets(而非 TCP)从无服务器环境访问 Neon 数据库。对于单个非交互式事务,通过 HTTP 查询速度更快。

如果你需要会话或交互式事务支持,或者需要完全兼容 pg 驱动程序的嵌入式替代品,你可以使用基于 WebSocket 的 neon-serverless 驱动程序。你可以使用 Postgres 直接连接到 Neon 数据库

在 Cloudflare Worker 中使用 Drizzle ORM 和 Neon Serverless 驱动程序的示例,参见此处。。要在服务器环境中使用 Neon,你可以使用 PostgresJS 驱动程序,如 Neon 的 Node.js 官方文档 中所述 - 请参阅 docs

步骤 1 - 安装软件包

npm
yarn
pnpm
bun
npm i drizzle-orm @neondatabase/serverless -D drizzle-kit

步骤 2 - 初始化驱动程序并进行查询

Neon HTTP
Neon Websockets
node-postgres
postgres.js
import { drizzle } from 'drizzle-orm/neon-http';

const db = drizzle(process.env.DATABASE_URL);

const result = await db.execute('select 1');

如果你需要提供现有的驱动程序:

Neon HTTP
Neon Websockets
node-postgres
postgres.js
import { neon } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';

const sql = neon(process.env.DATABASE_URL!);
const db = drizzle({ client: sql });

const result = await db.execute('select 1');

下一步是什么?