Skip to content

Transaction doesn't work #95

Open
Open
@naorye

Description

@naorye

I am using nestjs with typeorm and recentrly I added transaction support with typeorm-transactional-cls-hooked.
I made the following method:

@Injectable()
class ConnectionService {
  constructor(
    @InjectRepository(Connection)
    private connectionsRepository: ConnectionsRepository,
  ) {}

  @Transactional()
  public async updateConnection(userId: string, connectionId: string) {
    const connection = await this.getConnectionById(userId, connectionId);

    connection.name = '111';
    await this.connectionsRepository.save(connection);

    throw new Error('error test');

    connection.name = '222';
    await this.connectionsRepository.save(connection);
  }
}

connectionsRepository is defined like that:

import { EntityRepository } from 'typeorm';
import { BaseRepository } from 'typeorm-transactional-cls-hooked';
import { Connection } from '../entities/connection.entity';

@EntityRepository(Connection)
export class ConnectionsRepository extends BaseRepository<Connection> {}

When I am calling updateConnection, I end up with connection.name equals to 111 even though the transaction was rejected.
What I am missing?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions