Nodejs之NestJS之TypeORM使用

本文介绍了Nodejs中NestJS框架结合TypeORM的使用经验,包括入口选择建议统一使用entityManager,事务处理的封装,数据库连接配置,以及测试阶段推荐使用真实数据库并借助事务进行。还提醒在生产环境中避免em.save,启用migrationsRun,以及解决sqlserver的配置问题。
摘要由CSDN通过智能技术生成

Nodejs之NestJS之TypeORM使用

node下的TypeORM比上不足,比下有余,这里分享一些使用经验

一、入口

TypeORM提供的入口很多,connection,entityManager,repo,使用的时候难免纠结用什么,这里建议统一使用entityManager:

getManager()
二、事务

建议封装事务,动态传入entityManager,方便复用和测试:

import {
    EntityManager, getManager } from 'typeorm';
import {
    IsolationLevel } from 'typeorm/driver/types/IsolationLevel';

export const runInTransaction = async (callback: any, options?: any) => {
   
  const connectionName = options?.connectionName ?? 'default';
  const isolationLevel: IsolationLevel | undefined = options?.isolationLevel;
  if (!options?.entityManager) {
   
    await getManager(connectionName).transaction(
      isolationLevel,
      async (entityManager: EntityManager) => await callback(entityManager),
    );
  } else {
   
    await callback(options?.entityManager);
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值