Token导航 LogoToken导航

TypeORM 历经近十年发展终于迎来 1.0 版本,标志着项目维护工作重启

更新时间 2026-06-15来源 InfoQ正文 1696字阅读约 6分钟
作者 | Daniel Curtis
译者 | 平川

TypeORM 团队发布了 TypeORM 1.0,这是这款广受欢迎的 TypeScript 和 JavaScript ORM 的首个主要版本,标志着该项目自 2016 年创建以来,终于告别了 1.0 之前的版本状态。

TypeORM 1.0 移除了长期废弃的 API,更新了平台要求,并包含在 0.3.x 版本周期中积累的数十项 Bug 修复和新功能。此次发布 源于 2024 年底新维护者接手后,项目活动重新活跃起来。项目团队报告称,2025 年共发布了 8 个补丁版本,合并了 575 个拉取请求(相比之下,前一年只有 63 个),并关闭了超过 2300 个问题,同时该库的每周下载量仍然保持在近 200 万次。

这次更新的主要变化在于基础架构的现代化改造。TypeORM 现在已经编译为 ECMAScript 2023,也就是说, Node.js 20 成为支持的最低版本,而 Node 16 和 18 不再受支持。此外,该版本还移除了若干占用资源较多的依赖项:旧版 mysql 客户端已被 mysql2 取代,sqlite3 已被 better-sqlite3 取代,哈希功能则迁移到了原生的 crypto 模块中。

新特性侧重于实用的数据操作。InsertQueryBuilder 现在可以通过新方法 valuesFromSelect() 执行 INSERT INTO ... SELECT FROM ... 语句;在支持 RETURNING 子句的数据库中,update() 和 upsert() 方法新增了返回选项;QueryRunner 支持使用 await 语法进行自动清理。根据 发布说明,该版本还强化了安全性:所有驱动程序在进行模式检查和 DDL 操作时均采用参数化查询和转义标识符;对 orderBy 条件进行运行时验证;对 .limit() 进行更严格的检查。

迁移过程由一个自动代码转换工具 codemod 提供支持。该工具可在原地更新导入语句、重命名 API 、修改 find 选项语法以及依赖项,并提供一个可以预览更改的标志。

    npx @typeorm/codemod v1 src/ --dry

    升级指南 中记录了若干需要手动更改的的地方,例如移除了 Connection 别名并改用 DataSource,移除了 findByIds 和 findOneById 方法,以及新引入了一项默认行为:当 where 条件中的值无效时,系统会抛出异常而非静默忽略。NestJS 用户基本不受影响,但应升级至 @nestjs/typeorm v11.0.1 或更高版本,codemod 会自动进行版本更新。

    各界的关注点主要集中在版本号所传递的信号上。多年来,Reddit 上的讨论帖 一直都在询问 TypeORM 是否正在走向消亡或已被弃用,这种担忧与 Hacker News 上早先关于其版本长期达不到 1.0 的讨论 如出一辙。这次跃升至 1.0 版本,被广泛视为维护工作重回正轨的明证。在 Threads 上,一位开发者称,这次发布是 JavaScript ORM 领域的一个重要信号,并特别提到了对 INSERT INTO SELECT 的支持以及跨驱动程序的隔离级别。

    在一个竞争激烈的市场中,TypeORM 依然在与 Prisma 展开竞争——后者在 7.0 版本中重写了查询引擎;同时也与 Drizzle 竞争——在 2026 年 Encore 的对比评测 中,Drizzle 在边缘部署和以 SQL 为核心的团队中排名第一。这份对比报告将 TypeORM 定位为现有代码、企业级模式和非主流数据库的首选,而 1.0 版本的发布正是为了捍卫这一细分市场。

    TypeORM 是一个面向 TypeScript 和 JavaScript 的开源 ORM,可以在 Node.js 及其他平台上运行。它同时支持数据映射(Data Mapper)和活动记录(Active Record)模式,并兼容 PostgreSQL、MySQL、 MariaDB、 SQLite、 SQL Server、 Oracle Database、 SAP HANA、 MongoDB、 Google Cloud Spanner 等数据库。

    https://www.infoq.com/news/2026/06/typeorm-1-released/

    声明:本文由 InfoQ 翻译,未经许可禁止转载。

    文章标签AI资讯
    资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。

    继续浏览更多资讯

    返回资讯目录

    相关资讯

    更多