素材阁

TypeORM 速查

共 27 条 TypeORM 常用写法,涵盖连接与实体、字段与关系、查询、迁移、进阶。 支持搜索与分类筛选,点击即可复制。

连接与实体

装饰器风格 ORM。

命令说明
安装
创建 DataSource
初始化
定义实体
建表策略

字段与关系

列与关联。

命令说明
列选项
可空
自动时间戳
多对一
一对多
多对多

查询

Repository API。

命令说明
获取仓储
条件查询与分页
单条与关联加载
增改删
计数
QueryBuilder

迁移

TypeORM CLI。

命令说明
按实体差异生成迁移
创建空迁移
执行迁移
回滚上一个迁移
目录规划

进阶

事务与钩子。

命令说明
事务
生命周期钩子
索引
软删除
加载策略

使用说明

TypeORM 速查:连接与实体、字段与关系、查询、迁移、进阶;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:连接与实体、字段与关系、查询、迁移、进阶。
  2. 点「写法」列复制,替换实体名与字段后使用。
  3. 生产环境把 synchronize 关掉,改用迁移管理结构。
  4. 加载关系用 relations 或 QueryBuilder,避免 N+1。

常见问题

synchronize: true 为什么不能用于生产?
它会按实体自动改表,可能删除或改动已有列导致数据丢失;生产应关闭它,用 migration 显式管理每次结构变更。
Repository 和 QueryBuilder 怎么选?
简单增删改查用 Repository 更直接;复杂连接、聚合、动态条件用 QueryBuilder 更灵活。两者可混用以取长补短。
@ManyToOne 一侧需要 @JoinColumn 吗?
多对一默认把外键建立在当前实体上,通常自动处理;需要自定义外键列名时用 @JoinColumn({ name: "user_id" })。

延伸阅读

相关工具