Skip to main content

Programmatic control

Inject TransactionHost for imperative control without the decorator:

import { TransactionalAdapterTypeOrm, TransactionHost } from '@nestjs-transactions/typeorm';

constructor(private readonly txHost: TransactionHost<TransactionalAdapterTypeOrm>) {}

await this.txHost.withTransaction(async () => {
/* ... */
});
this.txHost.isTransactionActive();
this.txHost.tx; // the current EntityManager

For a named connection inject with @InjectTransactionHost('stats').