首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Drizzle ORM教程:7KB超轻量TypeScript ORM,支持Node.js、Cloudflare Workers与Serverless

Drizzle ORM教程:7KB超轻量TypeScript ORM,支持Node.js、Cloudflare Workers与Serverless

作者头像
代码简单说
发布2026-06-16 11:47:38
发布2026-06-16 11:47:38
280
举报
文章被收录于专栏:代码简单说代码简单说

Drizzle ORM教程:7KB超轻量TypeScript ORM,支持Node.js、Cloudflare Workers与Serverless

大家好 这里是「代码简单说」,欢迎大家关注同名公众号,不定时更新更多实用有趣的教程 也欢迎大家在评论区一起讨论交流!~

SEO关键词:Drizzle ORM教程、TypeScript ORM、Node.js ORM框架、Cloudflare Workers数据库、Serverless ORM、PostgreSQL ORM、MySQL ORM、SQLite ORM、Drizzle Kit、Drizzle Studio

最近在做一个 Cloudflare Workers 项目时,需要寻找一个既轻量又支持 TypeScript 类型推导的 ORM。传统 ORM 虽然功能丰富,但很多时候体积较大、配置复杂,在 Serverless 环境下并不友好。

后来发现了一个越来越火的 ORM —— Drizzle ORM

根据 State of DB 数据库开发者调查,Drizzle 已经成为许多开发者新项目中的首选 ORM 之一。它不仅支持 PostgreSQL、MySQL、SQLite,而且天然适配 Cloudflare Workers、Vercel、Supabase、Neon、Turso 等现代云数据库平台。

今天就来详细介绍一下这个号称 7KB超轻量级ORM 的项目。


什么是 Drizzle ORM?

在这里插入图片描述
在这里插入图片描述

Drizzle ORM 是一个现代化的 TypeScript ORM 框架。

项目地址:

名称

地址

官网

https://orm.drizzle.team

文档

https://orm.drizzle.team/docs/overview

GitHub

https://github.com/drizzle-team/drizzle-orm

Discord

https://driz.link/discord

官方定义:

Headless ORM for NodeJS, TypeScript and JavaScript

即:

面向 Node.js、TypeScript 和 JavaScript 的无头 ORM 框架。

与 Prisma、TypeORM 等传统 ORM 不同,Drizzle 更像是一层轻量级的 SQL 类型安全封装。

其核心理念:

  • 保留 SQL 原生能力
  • 提供完整 TypeScript 类型推导
  • 极低运行时开销
  • Serverless 友好
  • 零依赖

Drizzle ORM的核心特点

1. 超轻量

Drizzle ORM 压缩后体积仅:

代码语言:javascript
复制
≈ 7.4 KB

相比一些大型 ORM:

ORM

大小

Drizzle ORM

~7.4KB

Prisma Client

数MB

Sequelize

较大

TypeORM

较大

并且:

代码语言:javascript
复制
0 Dependencies

没有任何运行时依赖。

优势:

  • 更快冷启动
  • 更适合 Workers
  • 更适合 Edge Runtime

2. 支持主流数据库

Drizzle 支持:

PostgreSQL

例如:

代码语言:javascript
复制
PostgreSQL
Neon
Supabase
Vercel Postgres
AWS Data API
Xata

MySQL

例如:

代码语言:javascript
复制
MySQL
PlanetScale
TiDB

SQLite

例如:

代码语言:javascript
复制
SQLite
Turso
Cloudflare D1
FlyIO LiteFS

支持矩阵:

数据库

支持

PostgreSQL

MySQL

SQLite

Neon

Turso

PlanetScale

Supabase

Cloudflare D1

Vercel Postgres

AWS Data API


3. 天然支持Serverless

这是 Drizzle 最大亮点之一。

官方明确表示:

代码语言:javascript
复制
Serverless-ready by design

即:

从设计之初就是为 Serverless 场景打造。

支持:

  • Node.js
  • Bun
  • Deno
  • Cloudflare Workers
  • Edge Runtime
  • Supabase Functions
  • Browser

示意图:

代码语言:javascript
复制
          Drizzle ORM
                │
 ┌──────────────┼──────────────┐
 │              │              │
Node.js      Workers         Deno
 │              │              │
 PostgreSQL   D1          SQLite

对于现代前端开发者而言非常友好。


4. 强大的TypeScript支持

Drizzle 最大卖点之一就是:

代码语言:javascript
复制
Type-safe SQL

既保留 SQL 语法能力。

又拥有完整类型推导。


定义表结构

例如用户表:

代码语言:javascript
复制
import {
  pgTable,
  serial,
  varchar
} from "drizzle-orm/pg-core";

export const users = pgTable("users", {
  id: serial("id").primaryKey(),
  name: varchar("name", {
    length: 255,
  }),
});

自动推导类型

无需手写:

代码语言:javascript
复制
interface User {
  id: number;
  name: string;
}

Drizzle 自动生成:

代码语言:javascript
复制
type User

并保持同步。

避免:

代码语言:javascript
复制
数据库字段变了
TypeScript类型忘记改

的问题。


SQL风格查询

查询数据:

代码语言:javascript
复制
const result = await db
  .select()
  .from(users);

生成SQL:

代码语言:javascript
复制
SELECT * FROM users;

条件查询:

代码语言:javascript
复制
import { eq } from "drizzle-orm";

const result = await db
  .select()
  .from(users)
  .where(eq(users.id, 1));

对应:

代码语言:javascript
复制
SELECT *
FROM users
WHERE id = 1;

既保持 SQL 可读性。

又拥有 TypeScript 类型检查。


关系查询(Relational Queries)

Drizzle 支持关联关系定义。

例如:

代码语言:javascript
复制
users
posts
comments

关系配置:

代码语言:javascript
复制
relations(users, ({ many }) => ({
  posts: many(posts),
}));

查询:

代码语言:javascript
复制
const result =
await db.query.users.findMany({
  with: {
    posts: true,
  },
});

类似:

代码语言:javascript
复制
JOIN

但开发体验更好。


Drizzle Kit

除了 ORM 本体。

Drizzle 还提供:

代码语言:javascript
复制
Drizzle Kit

数据库迁移工具。


安装

代码语言:javascript
复制
npm install drizzle-kit

生成迁移文件

代码语言:javascript
复制
npx drizzle-kit generate

生成:

代码语言:javascript
复制
drizzle/
 ├─ 0001_init.sql
 ├─ 0002_user.sql

执行迁移

代码语言:javascript
复制
npx drizzle-kit migrate

自动同步数据库结构。


Drizzle Studio

如果说 Drizzle Kit 是数据库迁移工具。

那么:

代码语言:javascript
复制
Drizzle Studio

就是数据库管理面板。

功能包括:

  • 浏览表
  • 修改数据
  • 新增记录
  • 删除记录
  • 查看关系

类似:

代码语言:javascript
复制
phpMyAdmin
TablePlus
DBeaver

但更加轻量。


Cloudflare Workers中的使用

由于很多前端开发者都在接触 Workers。

这里举一个简单示例。

安装:

代码语言:javascript
复制
npm install drizzle-orm

连接 Cloudflare D1:

代码语言:javascript
复制
import { drizzle } from "drizzle-orm/d1";

export default {
  async fetch(request, env) {

    const db = drizzle(env.DB);

    const users =
      await db.select().from(usersTable);

    return Response.json(users);
  }
};

整个过程非常自然。

没有额外适配层。

没有复杂配置。

开箱即用。


Drizzle与Prisma对比

很多开发者会问:

代码语言:javascript
复制
Drizzle和Prisma选哪个?

简单对比:

对比项

Drizzle

Prisma

类型安全

学习成本

SQL控制能力

运行体积

极小

较大

Serverless支持

优秀

一般

冷启动性能

优秀

一般

数据库迁移

Cloudflare Workers

非常友好

需额外处理


为什么越来越多人选择Drizzle?

根据近两年数据库开发生态的发展趋势:

开发者越来越关注:

代码语言:javascript
复制
性能
类型安全
Serverless
Edge Runtime

而 Drizzle 恰好覆盖了这些需求。

它不像传统 ORM 那样试图隐藏 SQL。

而是在 SQL 与 TypeScript 之间建立了一层高效桥梁。

这种设计让它既具备:

代码语言:javascript
复制
ORM开发效率

又保留:

代码语言:javascript
复制
原生SQL灵活性

因此受到越来越多开发者欢迎。


总结

Drizzle ORM 可以理解为:

一个专门为现代 TypeScript 生态打造的轻量级 ORM。

核心优势:

✅ 仅约 7.4KB 体积

✅ 零依赖

✅ 完整 TypeScript 类型推导

✅ PostgreSQL / MySQL / SQLite 全支持

✅ Cloudflare D1、Neon、Supabase、Turso 原生支持

✅ Serverless 与 Edge Runtime 友好

✅ Drizzle Kit 数据迁移工具

✅ Drizzle Studio 数据管理界面

如果你的项目是:

  • Vue + Node.js
  • Express
  • NestJS
  • Cloudflare Workers
  • Next.js
  • Nuxt
  • Serverless架构

那么 Drizzle ORM 值得优先体验一次。

它可能会成为未来 TypeScript 数据库开发领域最具竞争力的 ORM 之一。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Drizzle ORM教程:7KB超轻量TypeScript ORM,支持Node.js、Cloudflare Workers与Serverless
  • 什么是 Drizzle ORM?
  • Drizzle ORM的核心特点
    • 1. 超轻量
  • 2. 支持主流数据库
    • PostgreSQL
    • MySQL
    • SQLite
  • 3. 天然支持Serverless
  • 4. 强大的TypeScript支持
    • 定义表结构
    • 自动推导类型
  • SQL风格查询
  • 关系查询(Relational Queries)
  • Drizzle Kit
    • 安装
    • 生成迁移文件
    • 执行迁移
  • Drizzle Studio
  • Cloudflare Workers中的使用
  • Drizzle与Prisma对比
  • 为什么越来越多人选择Drizzle?
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档