SuperAPI AI 工具集

typeorm

编程与开发

查看项目

更新于 10-16 02:32

技能介绍

用途:TypeORM 是面向 TypeScript 与 JavaScript 的 ORM,用于把实体类映射到关系型数据库,支持 Data Mapper 与 Active Record 两种模式,并强调数据库设计与迁移。

主要能力:可通过装饰器定义实体、列与主键(自增、UUID、自定义、复合主键),支持字符串、数值、布尔、JSON、枚举、时间戳、软删除和乐观锁版本列;支持一对一、一对多/多对一、多对多关系及级联与外键配置;提供仓储模式(find、save、update、delete、softDelete、自定义仓储)、QueryBuilder(联表、条件、分页、聚合、批量插入)以及事务(QueryRunner 或 transaction 方法)。支持 MySQL、PostgreSQL、MariaDB、SQLite、SQL Server、Oracle 等,可运行于 Node.js、浏览器、Ionic、Cordova、React Native、NativeScript、Expo、Electron,并可与 NestJS 集成。

使用方式:需在 tsconfig.json 启用 experimentalDecorators 与 emitDecoratorMetadata;通过 DataSource 配置连接、实体、迁移、连接池、SSL 与日志;用 npx typeorm migration:generate/create/run/revert 管理迁移。资料中的示例命令:npx typeorm migration:generate src/migrations/CreateUsers -d src/data-source.ts、npx typeorm migration:create src/migrations/SeedUsers、npx typeorm migration:run -d src/data-source.ts、npx typeorm migration:revert -d src/data-source.ts。

适用场景:需要类型安全的数据访问层、复杂关系映射、生产环境数据库迁移,以及 NestJS 等企业应用的持久化层。

限制:生产环境不应使用 synchronize: true,应使用迁移;需注意避免 N+1 查询、合理配置索引、级联与加载策略;其他细节暂未提供。