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))

Why not SQL-like?

We are always pursuing a perfectly balanced solution. Although SQL-like 100% meets the requirements,
in some common scenarios, you can query data more effectively.

We built the Query API for you, so you can retrieve relational nested data from the database in the most convenient and efficient way, without having to think about joins and data mapping.

Drizzle always outputs exactly 1 SQL query. You can safely use it with serverless databases without worrying about performance or round-trip costs!

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

无服务器?

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

Drizzle 轻便且准备好无服务器

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

Drizzle 通过业界标准的数据库驱动程序原生运行。我们支持所有主流的 PostgreSQLMySQLSQLiteSingleStore 驱动,并且我们还在 非常快速 地添加新的支持。

欢迎加入!

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

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

我们有一个很棒的 Discord 社区,并欢迎所有构建者加入我们的 Twitter

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

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

视频展示