TypeORM 1.0.0 已于 2026年5月正式发布,距首个版本发布已过去近10年,是一次里程碑式的重大更新。
一、核心定位
- 长期 deprecated API 全部清除,架构全面现代化。
- 最低要求 Node.js 20+、ES2023,不再支持 Node.js 16/18。
- 统一使用 DataSource**,彻底移除旧版 Connection / createConnection。
二、主要破坏性变更(必看)
- 运行时环境
-
- Node.js 最低 20.x;目标 ES2023。
- 非 Node 平台二进制用 Uint8Array 替代 Buffer。
- 连接体系重构
-
connection.close()→dataSource.destroy()connection.isConnected→dataSource.isInitialized。
-
- ✅ 保留:
new DataSource({ ... }).initialize() - ❌ 移除:
Connection类、createConnection()、connection.close()、connection.isConnected。 - 对应替换:
- ✅ 保留:
- MySQL 相关
-
- 仅支持 mysql2,移除旧 mysql 客户端。
legacySpatialSupport默认false,用标准ST_GeomFromText。- 移除
width、zerofill列选项(MySQL 8.4 已移除)。
- 查询与数据校验
-
find({ where: { text: null } })不再静默匹配所有,直接抛错。- QueryBuilder
orderBy增加运行时校验,防注入。
三、重要新特性
- QueryRunner 支持
await using(TS 5.2+),自动资源释放。 - 所有 drop 方法支持
ifExists(列、索引、主键、外键等)。 - DataSource 级默认事务隔离级别,统一全局事务行为。
- 依赖精简:glob → tinyglobby,移除 rimraf,哈希**改用原生 crypto。
四、升级要点(从 0.3.x)
- 升级 Node.js 到 20+、TS 到 5.2+。
- 全局替换:
-
createConnection()→new DataSource().initialize()connection实例 →dataSource。
- 检查并移除所有已废弃装饰器/选项。
- NestJS 用户:等待 @nestjs/typeorm 适配版(v11 暂不兼容)。
五、安装
npm install typeorm@1.0.0
# 或
yarn add typeorm@1.0.0