{"repo":"gaelrenoux/tranzactio","free":true,"listed":false,"github":"https://github.com/gaelrenoux/tranzactio","clone":"git clone https://github.com/gaelrenoux/tranzactio.git","description":"ZIO wrapper around Doobie and Anorm.","language":"Scala","stars":158,"topics":["zio","anorm","database","doobie","scala"],"license":null,"category":"databases-storage","readme_excerpt":"[CI-Badge]: https://github.com/gaelrenoux/tranzactio/actions/workflows/ci.yml/badge.svg [CI-Link]: https://github.com/gaelrenoux/tranzactio/actions?query=branch%3Amaster [MavenCentral-Link]: https://central.sonatype.com/artifact/io.github.gaelrenoux/tranzactio-core 3 [MavenCentral-Badge]:https://img.shields.io/maven-central/v/io.github.gaelrenoux/tranzactio-core 3.svg TranzactIO [![CI][CI-Badge]][CI-Link] [![Releases][MavenCentral-Badge]][MavenCentral-Link] TranzactIO is a ZIO wrapper for some Scala database access libraries (Doobie and Anorm, for now). If the library comes with an IO monad (like Doobie's ConnectionIO ), it lifts it into a ZIO[Connection, E, A] . If the library doesn't have an IO monad to start with (like Anorm), it provides a ZIO[Connection, E, A] for the role. Note that Connection is not Java's java.sql.Connection , it's a TranzactIO type. When you're done chaining ZIO instances (containing either queries or whatever code you need), use TranzactIO's Database module to provide the Connection and execute the transaction. Database can also provide a Connection in auto-commit mode, without a transaction. TranzactIO comes with a very small amount of dependencies: only ZIO and ZIO-interop-Cats are required. Any constructive criticism, bug report or offer to help is welcome. Just open an issue or a PR. Why ? On my applications, I regularly have quite a bunch of business logic around my queries. If I want to run that logic within a transaction, I have to wrap it wi","default_branch":null,"files":null,"tree":[],"storefront":"/r/gaelrenoux","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gaelrenoux/tranzactio/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}