十年了,Nodejs 全栈神器 TypeORM 1.0 终于发布!

TypeORM 1.0.0 正式发布。从 2016 年项目创立到如今迈入 1.0 时代,这条路走了将近十年。

这不仅仅是一次版本号跃进,更是项目维护工作重回正轨、走向成熟的标志。

📊 一组数字看 1.0

  • 每周下载量:超过 470 万次(位居 npm 前 0.1%)

  • GitHub Stars:超过 36,400

  • 支持的数据库10 种,从 PostgreSQL、MySQL 到 MongoDB

  • 开发投入:自新维护者 2024 年底接手后,2025 年一年合并了 575 个 PR,关闭超过 2300 个 issue

⚠️ 升级必看:核心破坏性变更1. 环境要求全面升级
  • Node.js:最低版本要求 20.x,不再支持 16/18。

  • Java 目标:升级至 ES2023

  • 非 Node 平台:二进制数据处理改用 Uint8Array替代 Buffer

2. 连接体系大重构

彻底移除旧有的 Connection类,全面拥抱 DataSource

旧写法 (0.3.x)

新写法 (1.0.0)

createConnection new DataSource({...}).initialize
connection.close dataSource.destroy
connection.isConnected dataSource.isInitialized

注意getConnection, getRepository等全局方法也已移除,需改为 dataSource.getRepository等方式。

3. MySQL 驱动与配置变更
  • 仅支持 mysql2:移除旧版 mysql客户端。

  • 空间数据legacySpatialSupport默认改为 false,使用标准 ST_GeomFromText函数。

  • 列选项:移除 widthzerofill选项(MySQL 8.4 已移除)。

4. 查询与数据校验更严格
  • find({ where: { text: null } })直接抛出错误,不再静默匹配所有记录。

  • QueryBuilderorderBy增加运行时校验,防范 SQL 注入风险。

✨ 1.0 时代的新特性
  • QueryRunner 支持 await using:若使用 TS 5.2+,可实现自动资源释放。

  • DROP 操作支持 ifExists:删除列、索引等元素时更安全。

  • DataSource 级默认事务隔离级别:统一全局事务行为。

  • 依赖大幅精简globtinyglobby,移除 rimraf,哈希改用原生 crypto

🚀 如何从 0.3.x 升级?
  1. 环境准备:升级 Node.js 至 20+,Type 至 5.2+

  2. 自动迁移(推荐):使用官方提供的 codemod工具:npx @typeorm/codemod v1 src/

    (可加 --dry参数预览更改)

  3. 手动检查:codemod 无法处理的部分会留下 TODO注释,需手动处理。

  4. NestJS 用户:请升级至 @nestjs/typeormv11.0.1 或更高版本

安装命令

npm install typeorm@1.0.0

# 或

yarn add typeorm@1.0.0

TypeORM 1.0 是一个更现代、更安全、也更可靠的 ORM。建议在开发环境中先行测试,再利用 codemod 工具辅助完成升级。返回搜狐,查看更多

阅读 ()
平台声明
该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。