×

苦等十年!Nodejs 终于发布全栈神器 TypeORM 1.0!

独孤求败 独孤求败 发表于2026-05-30 11:09:44 浏览7 评论0

抢沙发发表评论

TypeORM 1.0.0 已于 2026年5月正式发布,距首个版本发布已过去近10年,是一次里程碑式的重大更新。

ScreenShot_2026-05-30_111026_468.jpg

一、核心定位

  • 长期 deprecated API 全部清除,架构全面现代化。
  • 最低要求 Node.js 20+、ES2023,不再支持 Node.js 16/18。
  • 统一使用 DataSource,彻底移除旧版 Connection / createConnection。

二、主要破坏性变更(必看)

  1. 运行时环境

    • Node.js 最低 20.x;目标 ES2023。
    • 非 Node 平台二进制用 Uint8Array 替代 Buffer。
  2. 连接体系重构

    • connection.close() → dataSource.destroy()
    • connection.isConnected → dataSource.isInitialized
    • ✅ 保留:new DataSource({ ... }).initialize()
    • ❌ 移除:Connection 类、createConnection()connection.close()connection.isConnected
    • 对应替换:
  3. MySQL 相关

    • 仅支持 mysql2,移除旧 mysql 客户端。
    • legacySpatialSupport 默认 false,用标准 ST_GeomFromText
    • 移除 widthzerofill 列选项(MySQL 8.4 已移除)。
  4. 查询与数据校验

    • find({ where: { text: null } }) 不再静默匹配所有,直接抛错。
    • QueryBuilder orderBy 增加运行时校验,防注入。

三、重要新特性

  • **QueryRunner 支持 await using**(TS 5.2+),自动资源释放。
  • **所有 drop 方法支持 ifExists**(列、索引、主键、外键等)。
  • DataSource 级默认事务隔离级别,统一全局事务行为。
  • 依赖精简:glob → tinyglobby,移除 rimraf,哈希改用原生 crypto

四、升级要点(从 0.3.x)

  1. 升级 Node.js 到 **20+**、TS 到 **5.2+**。
  2. 全局替换:
    • createConnection() → new DataSource().initialize()
    • connection 实例 → dataSource
  3. 检查并移除所有已废弃装饰器/选项。
  4. NestJS 用户:等待 @nestjs/typeorm 适配版(v11 暂不兼容)。

五、安装

npm install typeorm@1.0.0
# 或
yarn add typeorm@1.0.0


群贤毕至

访客