缢闸 发表于 2025-7-9 01:30:22

Drizzle ORM:轻量级数据库工具

Drizzle ORM:轻量级数据库工具

在上一章中,我们探讨了 Cloudflare D1 如何作为一款高性能、低成本的边缘数据库解决方案,彻底改变了我们对数据库架构的认知.

但一般来说,我们很少在项目里裸写sql,所以我们需要一个能简化操作和开发的ORM工具,但市面上绝大多数的ORM对于这种ServerLess数据库的适配很差,需要解决各种依赖问题。 那么在尝试了一圈后,发现Drizzle是最好的搭配方案,选择它最核心的理由是:它没有三方依赖、且对ServerLess这个场景非常友好。 (https://orm.drizzle.team/),建议看文档,中文只是阅读起来快一点,精简一点。
Schema:数据模型定义

Schema 是 Drizzle ORM 的基础,它定义了数据库表的结构和关系。
基本表定义

以下是一个简单的表定义示例:
import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core'

// 定义用户表
export const users = sqliteTable('users', {
id: integer('id').primaryKey(),
name: text('name').notNull(),
email: text('email').notNull().unique(),
createdAt: integer('created_at', { mode: 'timestamp' }).notNull().defaultNow()
})Schema 组织方式

Drizzle 允许你灵活组织 Schema 文件,可以选择单文件或多文件方式:
单文件方式

适合小型项目,将所有表定义放在一个 schema.ts 文件中:
// src/db/schema.ts
import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core'

export const users = sqliteTable('users', {
/* 列定义 */
})
export const posts = sqliteTable('posts', {
/* 列定义 */
})多文件方式

对于大型项目,可以将表定义分散到多个文件中:

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

汪玉珂 发表于 2025-10-17 04:17:34

感谢发布原创作品,程序园因你更精彩

喳谍 发表于 2025-11-11 03:13:18

感谢分享

赖秀竹 发表于 2025-11-22 04:53:44

喜欢鼓捣这些软件,现在用得少,谢谢分享!

荡俊屯 发表于 2025-11-29 21:33:47

新版吗?好像是停更了吧。

表弊捞 发表于 2025-11-30 03:39:18

感谢分享,下载保存了,貌似很强大

晦险忿 发表于 2025-12-5 01:01:04

谢谢楼主提供!

洪思思 发表于 3 天前

过来提前占个楼
页: [1]
查看完整版本: Drizzle ORM:轻量级数据库工具