Become a Gold Sponsor

Drizzle ORM

Drizzle ORM 是一个无头的 TypeScript ORM。🐲

Drizzle 是一个会在你需要的时候陪伴你,而在你需要空间时不打扰你的好朋友。

它看起来和感觉都很简单,并且在你项目的 1000 天之际表现出色,
让你按照自己的方式做事,当你需要它时,它就在你身边。

它是唯一同时拥有 关系SQL-like 查询 API 的 ORM, 在访问你的关系数据时为你提供了两全其美的选择。 Drizzle 轻巧、性能卓越、安全类型、无乳糖、无麸质、清醒、灵活,并且是 天生支持无服务器的设计。 Drizzle 不仅仅是一个库,它是一种体验。🤩

Drizzle bestofjs

无头 ORM?

首先,Drizzle 是一个库和一组可选的补充工具。

ORM 代表 对象关系映射,开发者通常将类似 Django 或 Spring 的工具称为 ORM。 我们相信这是一种源于遗留命名的误解,我们称之为 数据框架

WARNING

使用数据框架,你必须围绕它们构建项目,而不是与它们一起构建。

Drizzle 让你以自己想要的方式构建项目,而不干扰你的项目或结构。

使用 Drizzle,你可以在 TypeScript 中定义和管理数据库架构, 按 SQL-like 或关系的方式访问你的数据, 并利用可选工具将你的开发者体验提升到一个新的高度。🤯

为什么 SQL-like?

如果你懂 SQL,你就懂 Drizzle。

其他 ORM 和数据框架往往使你远离 SQL, 这导致了双重学习曲线:需要同时了解 SQL 和框架的 API。

Drizzle 则恰恰相反。 我们拥抱 SQL,构建 Drizzle 使其在核心上类似 SQL,这样你就几乎没有学习曲线, 并且可以完全发挥 SQL 的力量。

我们带来了所有熟悉的 SQL 架构查询自动迁移另外一项。✨

index.ts
schema.ts
migration.sql
// 访问你的数据
await db
	.select()
	.from(countries)
	.leftJoin(cities, eq(cities.countryId, countries.id))
	.where(eq(countries.id, 10))

为什么不 SQL-like?

我们始终在追求一个完美平衡的解决方案,虽然 SQL-like 100% 满足需求, 但在某些常见场景中,您可以更好地查询数据。

我们为你构建了 查询 API,这样你就可以以最便捷和高效的方式从数据库中获取关系嵌套数据, 而无需考虑连接和数据映射。

Drizzle 始终输出准确的 1 条 SQL 查询。 可以放心地将其与无服务器数据库一起使用,不用担心性能或往返成本!

const result = await db.query.users.findMany({
	with: {
		posts: true
	},
});

无服务器?

最棒的一点就是没有。Drizzle 具有 0 个依赖!

Drizzle 轻便且准备好无服务器

Drizzle ORM 是特定于方言的,轻巧、高效,并且 天生支持无服务器

我们花了大量时间确保你拥有一流的 SQL 方言支持,包括 Postgres、MySQL 和其他。

Drizzle 通过行业标准数据库驱动程序原生运行。我们支持所有主要的 PostgreSQLMySQLSQLite 驱动程序,并且我们正在 快速添加新驱动

欢迎加入!

越来越多的公司在生产中采用 Drizzle,体验到开发者体验和性能的巨大好处。

我们始终在这里提供帮助,因此请随时联系我们。我们很乐意在你的 Drizzle 之旅中协助你!

我们有一个杰出的 Discord 社区,欢迎所有开发者加入我们的 Twitter

现在去用 Drizzle 和你的 PostgreSQLMySQLSQLite 数据库构建一些令人惊叹的东西吧。🚀

视频展示