Prisma ORM 6.7.0 发布:无 Rust 引擎时代来临

【免费下载链接】prisma Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB 【免费下载链接】prisma 项目地址: https://gitcode.com/GitHub_Trending/pr/prisma

Prisma 是一个现代化的数据库工具链,它通过直观的数据建模语言和类型安全的查询构建器,让开发者能够更高效地与数据库交互。作为 Node.js 和 TypeScript 生态中备受欢迎的 ORM 解决方案,Prisma 持续推动着开发者体验的革新。

无 Rust 引擎的 Prisma ORM(早期体验)

在本次 6.7.0 版本中,Prisma 团队迈出了重要一步:开始提供不依赖 Rust 引擎的 ORM 解决方案。这一架构变革并非简单的语言迁移,而是将原本用 Rust 编写并作为独立二进制文件部署的 Query Engine,替换为更轻量高效的 Query Compiler 架构。

对于 PostgreSQL 和 SQLite 用户,现在可以通过在客户端生成器中添加 queryCompilerdriverAdapters 特性标志来体验这一新架构:

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["queryCompiler", "driverAdapters"]
  output          = "../generated/prisma"
}

配置完成后,开发者需要安装相应的驱动适配器(如 PostgreSQL 的 @prisma/adapter-pg),然后通过以下方式实例化 PrismaClient:

import { PrismaPg } from '@prisma/adapter-pg'
import { PrismaClient } from './generated/prisma'

const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
const prisma = new PrismaClient({ adapter })

这一变化不仅简化了架构,还带来了显著的性能提升,为 Prisma 的未来发展奠定了更坚实的基础。

better-sqlite3 JavaScript 驱动支持(预览)

6.7.0 版本新增了对 better-sqlite3 包的驱动适配器支持,使开发者能够以更原生的 JavaScript 方式与 SQLite 数据库交互。要使用这一功能,开发者需要:

  1. 启用 driverAdapters 预览特性
  2. 安装 @prisma/adapter-better-sqlite3 适配器

实例化方式如下:

import { PrismaBetterSQLite3 } from '@prisma/adapter-better-sqlite3';
import { PrismaClient } from './generated/prisma';

const adapter = new PrismaBetterSQLite3({
  url: "file:./prisma/dev.db"
});
const prisma = new PrismaClient({ adapter });

这一改进为 SQLite 用户提供了更多选择,同时也体现了 Prisma 对 JavaScript 生态更深入的整合。

多文件 Prisma 架构正式发布

prismaSchemaFolder 特性从预览阶段进入正式可用状态,标志着 Prisma 对大型项目更好的支持能力。开发者现在可以像组织代码一样组织数据模型,将单一 schema 文件拆分为多个逻辑单元:

prisma/
├── schema.prisma        # 数据源和生成器配置
├── models/
│   ├── posts.prisma     # Post 模型定义
│   └── users.prisma     # User 模型定义

这种模块化的组织方式特别适合大型项目,使团队能够更清晰地管理复杂的数据模型,同时提高协作效率。

生成输出拆分优化(预览)

新引入的 prisma-client 生成器解决了长期以来困扰大型项目的一个痛点:它将生成的 Prisma Client 库拆分为多个文件,避免了单一大型文件导致的编辑器性能问题。生成的文件结构现在更加合理:

generated/
└── prisma
    ├── client.ts
    ├── commonInputTypes.ts
    ├── enums.ts
    ├── index.ts
    ├── internal/
    │   ├── class.ts
    │   └── prismaNamespace.ts
    ├── models/
    │   ├── Post.ts
    │   └── User.ts
    └── models.ts

此外,新生成器还确保了生成文件不会引发 ESLint 和 TypeScript 错误,进一步提升了开发体验。

总结

Prisma ORM 6.7.0 的发布标志着该项目在架构现代化和开发者体验优化方面迈出了重要步伐。从 Rust 引擎的逐步淘汰,到对原生 JavaScript 驱动的更好支持,再到项目组织方式的改进,这一版本为 Prisma 用户带来了全方位的提升。特别是无 Rust 引擎的实现,不仅简化了架构,还为未来的性能优化和功能扩展开辟了新的可能性。对于正在使用或考虑使用 Prisma 的开发者来说,6.7.0 版本无疑值得关注和尝试。

【免费下载链接】prisma Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB 【免费下载链接】prisma 项目地址: https://gitcode.com/GitHub_Trending/pr/prisma

更多推荐