Drizzle <> Supabase
根据 官方网站,Supabase 是一个开源的 Firebase 替代品,旨在使用最小的配置构建安全且高性能的 Postgres 后端。
查看官方 Supabase + Drizzle 文档。
第一步 - 安装软件包
npm
yarn
pnpm
bun
npm i drizzle-orm postgres
npm i -D drizzle-kit
第二步 - 初始化驱动并进行查询
import { drizzle } from 'drizzle-orm/postgres-js'
const db = drizzle(process.env.DATABASE_URL);
const allUsers = await db.select().from(...);
如果您需要提供现有的驱动程序:
import { drizzle } from 'drizzle-orm/postgres-js'
import postgres from 'postgres'
const client = postgres(process.env.DATABASE_URL)
const db = drizzle({ client });
const allUsers = await db.select().from(...);
如果您决定通过 Supabase 使用连接池(在 这里 描述),并启用了“事务”池模式,则确保将 prepare 关闭,因为不支持预编译语句。
import { drizzle } from 'drizzle-orm/postgres-js'
import postgres from 'postgres'
// 禁用预取,因为在“事务”池模式下不支持
const client = postgres(process.env.DATABASE_URL, { prepare: false })
const db = drizzle({ client });
const allUsers = await db.select().from(...);
使用连接池连接到您的数据库以适应 无服务器环境,而在 长时间运行的服务器 中使用直接连接。