Drizzle ORM 是一个无头(headless)的 TypeScript ORM,具有类 SQL 的查询 API 和关系查询 API。它轻量、高性能、类型安全、无依赖,专为 serverless 环境设计。
- Overview - Drizzle ORM 概述: Drizzle ORM 的核心理念介绍,解释为什么选择类 SQL 的查询方式,以及 serverless 友好的设计哲学
- Quick Start - 快速开始: 快速上手 Drizzle ORM 的入门指南
- Why Drizzle - 为什么选择 Drizzle: Drizzle ORM 的优势和设计理念
- FAQ - 常见问题: 常见问题解答
- Gotchas - 注意事项: 使用中需要注意的问题
- CockroachDB: CockroachDB 分布式数据库支持
- MSSQL: Microsoft SQL Server 支持
- SingleStore: SingleStore 数据库支持
- Gel: Gel 数据库支持
- 数据库连接概述: Drizzle 如何通过数据库驱动执行 SQL 查询,支持各种运行时和 serverless 环境
- Neon: Neon serverless Postgres 连接(HTTP 和 WebSocket)
- Supabase: Supabase PostgreSQL 连接
- Vercel Postgres: Vercel Postgres 连接
- Xata: Xata serverless 数据库连接
- PGlite: 浏览器内 PostgreSQL (WASM)
- Nile: Nile 多租户数据库连接
- AWS Data API (PostgreSQL): AWS RDS Data API PostgreSQL 连接
- Prisma Postgres: Prisma Postgres 连接
- PlanetScale: PlanetScale serverless MySQL 连接
- TiDB: TiDB Serverless 连接
- AWS Data API (MySQL): AWS RDS Data API MySQL 连接
- Turso: Turso (libSQL) 边缘数据库连接
- Turso Database: Turso Database 连接配置
- Cloudflare D1: Cloudflare D1 边缘数据库连接
- Cloudflare Durable Objects: Cloudflare Durable Objects SQLite 连接
- Bun SQLite: Bun 原生 SQLite 驱动
- Bun SQL: Bun SQL 连接
- Expo SQLite: Expo SQLite (React Native) 连接
- OP-SQLite: React Native OP-SQLite 连接
- React Native SQLite: React Native SQLite 连接
- SQLite Cloud: SQLite Cloud 连接
- Drizzle Proxy: 自定义代理连接,用于自定义驱动集成
- SQL Schema Declaration - SQL Schema 声明: 如何使用 TypeScript 定义数据库表结构,包括列定义、默认值、约束等
- Schemas - 数据库 Schema: 多 Schema 支持(PostgreSQL、MySQL、SingleStore、MSSQL、CockroachDB),SQLite 不支持
- Indexes & Constraints - 索引与约束: 定义索引、主键、外键、唯一约束等
- Sequences - 序列: PostgreSQL 序列支持
- Views - 视图: 数据库视图定义
- Generated Columns - 生成列: 计算生成列支持
- Custom Types - 自定义类型: 创建自定义列类型
- PostgreSQL 列类型: PostgreSQL 所有支持的列类型
- MySQL 列类型: MySQL 所有支持的列类型
- SQLite 列类型: SQLite 所有支持的列类型
- MSSQL 列类型: SQL Server 列类型
- SingleStore 列类型: SingleStore 列类型
- CockroachDB 列类型: CockroachDB 列类型
- Select - 查询: 完整的 SELECT 查询文档,包括基础查询、部分选择、条件选择、过滤器、排序、分页、WITH 子句、子查询、聚合函数等
- Insert - 插入: INSERT 语句,包括批量插入、ON CONFLICT 处理、RETURNING 等
- Update - 更新: UPDATE 语句
- Delete - 删除: DELETE 语句
- Joins - 连接查询: LEFT JOIN、RIGHT JOIN、INNER JOIN、FULL JOIN 等各种连接类型
- Operators - 操作符: eq、ne、gt、gte、lt、lte、isNull、isNotNull、like、ilike、in、notIn、between、and、or、not 等过滤操作符
- Set Operations - 集合操作: UNION、INTERSECT、EXCEPT 等集合操作
- Transactions - 事务: 数据库事务支持
- Batch API - 批处理 API: 批量查询执行
- Dynamic Query Building - 动态查询构建: 动态构建查询条件
- sql 模板: sql`` 模板标签的高级用法
- Query Utils - 查询工具: getTableColumns 等实用工具函数
- Relations - 关系: Drizzle 软关系定义,用于简化关系数据查询。包括一对一、一对多、多对多关系,外键操作(CASCADE、NO ACTION、SET NULL 等)
- Relations Schema Declaration: 关系 Schema 声明
- Relations v2: 新版关系 API
- Relations v1 to v2 迁移: 从 v1 迁移到 v2 关系 API
- Relational Queries - 关系查询: 使用 db.query API 进行关系查询,用 with 子句获取嵌套关联数据
- RQB v2: 新版关系查询构建器
- Kit Overview - Drizzle Kit 概述: drizzle-kit CLI 工具介绍
- Drizzle Config File - 配置文件: drizzle.config.ts 配置文件详解
- Migrations - 迁移基础: 数据库迁移的核心概念,包括 database-first 和 codebase-first 两种方式
- drizzle-kit generate: 根据 Schema 变更生成 SQL 迁移文件
- drizzle-kit migrate: 应用迁移到数据库
- drizzle-kit push: 直接将 Schema 推送到数据库(适合快速原型开发)
- drizzle-kit pull: 从数据库拉取现有 Schema 生成 TypeScript 文件
- drizzle-kit check: 检查迁移一致性
- drizzle-kit up: 升级旧迁移快照
- drizzle-kit export: 导出 SQL DDL 语句
- Drizzle Kit Studio: 数据库可视化管理工具
- Custom Migrations - 自定义迁移: 自定义迁移脚本
- Migrations for Teams - 团队迁移: 团队协作中的迁移管理
- Web & Mobile Migrations: Web 和移动端迁移策略
- Seed Overview - 填充概述: drizzle-seed 数据填充工具
- Seed Functions - 填充函数: 可用的填充函数
- Seed Versioning - 填充版本控制: 填充数据版本管理
- Seed Limitations - 填充限制: 填充功能的限制
- Kit Seed Data: 使用 drizzle-kit 填充数据
- RLS - 行级安全: PostgreSQL 行级安全策略 (Row Level Security)
- Read Replicas - 读副本: 读写分离配置
- Cache - 缓存: 查询缓存支持
- Performance Queries - 查询性能: 查询性能优化技巧
- Serverless Performance - Serverless 性能: Serverless 环境下的性能优化
- Zod: drizzle-zod 集成,从 Drizzle Schema 生成 Zod schemas
- Valibot: drizzle-valibot 集成
- TypeBox: drizzle-typebox 集成
- ArkType: drizzle-arktype 集成
- GraphQL: drizzle-graphql 集成
- ESLint Plugin: eslint-plugin-drizzle 代码检查
- Prisma 迁移指南: 从 Prisma 迁移到 Drizzle
- Extensions 目录: PostgreSQL 扩展支持 (pgvector 等)
- 条件过滤: 动态条件过滤
- 行计数: 统计行数
- 包含/排除列: 选择性返回列
- 选择有关联子记录的父记录
- Limit/Offset 分页: 传统分页方式
- Cursor 分页: 游标分页方式
- PostgreSQL 全文搜索
- 使用生成列的全文搜索
- 向量相似度搜索: pgvector 向量搜索
- PostGIS 几何点
- Point 数据类型
- 不区分大小写的唯一邮箱
- Data Querying - 数据查询概述
- Goodies - 额外功能: 实用的辅助功能
- Latest Releases - 最新发布: 版本更新日志
- Upgrade to 0.21 - 升级指南: 版本升级指南
src/content/docs/
├── column-types/ # 各数据库列类型参考
│ ├── pg.mdx
│ ├── mysql.mdx
│ ├── sqlite.mdx
│ ├── mssql.mdx
│ ├── singlestore.mdx
│ └── cockroach.mdx
├── extensions/ # PostgreSQL 扩展
├── get-started/ # 各数据库/平台快速入门
├── guides/ # 实用指南
├── latest-releases/ # 版本发布说明
├── migrate/ # 迁移相关
└── tutorials/ # 完整教程
├── drizzle-on-the-edge/
├── drizzle-with-db/
└── drizzle-with-frameworks/
| 数据库 | 包路径 |
|---|---|
| PostgreSQL | drizzle-orm/pg-core |
| MySQL | drizzle-orm/mysql-core |
| SQLite | drizzle-orm/sqlite-core |
| MSSQL (SQL Server) | drizzle-orm/mssql-core |
| SingleStore | drizzle-orm/singlestore-core |
| CockroachDB | drizzle-orm/cockroach-core |
- 类型安全: 完整的 TypeScript 类型推断
- 类 SQL API: 熟悉 SQL 的开发者零学习曲线
- 关系查询 API: 简化嵌套数据获取
- 零依赖: 轻量级设计
- Serverless Ready: 原生支持边缘运行时
- 多数据库支持: PostgreSQL、MySQL、SQLite 及更多
- 自动迁移: drizzle-kit 工具链
- 可视化工具: Drizzle Studio