package
0.11.0
Repository: https://github.com/sublime-security/gadgeto.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

zesty is based on gorp, and abstracts DB transaction specifics.

It abstracts DB and Tx objects through a unified interface: DBProvider, which in turn lets your function remain ignorant of the current transaction state they get passed.

It also manages nested transactions, with mid-Tx savepoints making partial rollbacks very easy.

You can create a zesty.DB by calling NewDB(). You can then register this DB by calling RegisterDB().

This lets you instantiate DBProviders for this DB with NewDBProvider(), which is the main object that you manipulate.

A DBProvider contains a DB instance, and provides Tx functionalities.

You access the DB by calling provider.DB()

By calling provider.Tx(), you create a new transaction. Future calls to provider.DB() will provide the Tx instead of the main DB object, allowing caller code to be completely ignorant of transaction context.

Transactions can be nested infinitely, and each nesting level can be rolled back independantly. Only the final commit will end the transaction and commit the changes to the DB.