logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

DBIx::Class::Storage::TxnScopeGuard - Scope-based transaction handling

Description

       An object that behaves much like Scope::Guard, but hardcoded to do the right thing with transactions in
       DBIx::Class.

Further Questions?

       Check the list of additional DBIC resources.

Methods

new
       Creating an instance of this class will start a new transaction (by implicitly calling "txn_begin" in
       DBIx::Class::Storage. Expects a DBIx::Class::Storage object as its only argument.

   commit
       Commit the transaction, and stop guarding the scope. If this method is not called and this object goes
       out of scope (e.g. an exception is thrown) then the transaction is rolled back, via "txn_rollback" in
       DBIx::Class::Storage

Name

       DBIx::Class::Storage::TxnScopeGuard - Scope-based transaction handling

See Also

       "txn_scope_guard" in DBIx::Class::Schema.

       Scope::Guard by chocolateboy (inspiration for this module)

Synopsis

        sub foo {
          my ($self, $schema) = @_;

          my $guard = $schema->txn_scope_guard;

          # Multiple database operations here

          $guard->commit;
        }

See Also