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
Node.js:最低版本要求 20.x,不再支持 16/18。
Java 目标:升级至 ES2023。
非 Node 平台:二进制数据处理改用 Uint8Array替代 Buffer。
彻底移除旧有的 Connection类,全面拥抱 DataSource。
旧写法 (0.3.x) |
新写法 (1.0.0) |
|---|---|
| createConnection | new DataSource({...}).initialize |
| connection.close | dataSource.destroy |
| connection.isConnected | dataSource.isInitialized |
3. MySQL 驱动与配置变更注意:getConnection, getRepository等全局方法也已移除,需改为 dataSource.getRepository等方式。
仅支持 mysql2:移除旧版 mysql客户端。
空间数据:legacySpatialSupport默认改为 false,使用标准 ST_GeomFromText函数。
列选项:移除 width和 zerofill选项(MySQL 8.4 已移除)。
find({ where: { text: null } })将直接抛出错误,不再静默匹配所有记录。
QueryBuilder的 orderBy增加运行时校验,防范 SQL 注入风险。
QueryRunner 支持 await using:若使用 TS 5.2+,可实现自动资源释放。
DROP 操作支持 ifExists:删除列、索引等元素时更安全。
DataSource 级默认事务隔离级别:统一全局事务行为。
依赖大幅精简:glob→ tinyglobby,移除 rimraf,哈希改用原生 crypto。
环境准备:升级 Node.js 至 20+,Type 至 5.2+。
自动迁移(推荐):使用官方提供的 codemod工具:npx @typeorm/codemod v1 src/
(可加 --dry参数预览更改)
手动检查:codemod 无法处理的部分会留下 TODO注释,需手动处理。
NestJS 用户:请升级至 @nestjs/typeormv11.0.1 或更高版本。
安装命令:
npm install typeorm@1.0.0
# 或
yarn add typeorm@1.0.0
TypeORM 1.0 是一个更现代、更安全、也更可靠的 ORM。建议在开发环境中先行测试,再利用 codemod 工具辅助完成升级。返回搜狐,查看更多