Aliheym / typeorm-transactional

A Transactional Method Decorator for TypeORM that uses Async Local Storage or cls-hooked to handle and propagate transactions between different repositories and service methods.
MIT License
201 stars 27 forks source link

Transactional decorator not working after dataSource re-initialized #51

Open ehdgus094 opened 4 months ago

ehdgus094 commented 4 months ago

Thanks for the awesome library!

In AWS serverless environment, The DataSource has to be destroyed when the lambda request finishes and re-initialize on lambda warm-start in order to reduce the amount of the idle db connections.

On lambda cold-start, everything works fine because a new nest application gets initialized but, on lambda warm-start, the existing nest application is used and the transactional feature doesn't seem to work with the newly initialized DataSource.

I would like to know if there is any way to solve this problem. Thanks!

ehdgus094 commented 4 months ago

I found out that the issue wasn't because of destruction and re-initialization of DataSource. Transactional feature doesn't seem to work with TypeORM's lazy relation feature.