Drizzle <> Neon Postgres

本指南假定您熟悉

Drizzle 原生支持使用 neon-httpneon-websockets 驱动连接 Neon。这些驱动在底层使用 neon-serverless 驱动。

通过 neon-httpneon-websockets 驱动,您可以在无服务器环境中通过 HTTP 或 WebSocket 而不是 TCP 访问 Neon 数据库。
对于单个非交互式事务,通过 HTTP 查询速度更快。

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

有关在 Cloudflare Worker 中使用 Drizzle ORM 和 Neon Serverless 驱动的示例,请参阅此处。
要在有服务器环境中(serverful environment)使用 Neon,您可以使用 PostgresJS 驱动,具体请参阅 Neon 官方的 Node.js 文档 — 请参阅 文档

步骤 1 - 安装包

npm
yarn
pnpm
bun
npm i drizzle-orm @neondatabase/serverless
npm i -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');

接下来是什么?