Skip to content

Transactions

module

Defined in src/ralph/transactions.cr:17

Transaction support for models

This module provides transaction management capabilities including: - Model-level transactions (Model.transaction { ... }) - Nested transaction support (savepoints) - Transaction callbacks (after_commit, after_rollback)

Example:

User.transaction do
  user1 = User.create(name: "Alice")
  user2 = User.create(name: "Bob")
  # Both will be saved or both will be rolled back
end

Class Methods

.after_commit

View source

Register an after_commit callback


.after_rollback

View source

Register an after_rollback callback


.clear_transaction_callbacks

View source

Clear all transaction callbacks


.in_transaction?

View source

Check if currently in a transaction


.run_after_commit_callbacks

View source

Run after_commit callbacks


.run_after_rollback_callbacks

View source

Run after_rollback callbacks


.transaction_committed=(value : Bool)

View source

Setter for transaction committed state


.transaction_committed?

View source

Check if the current transaction is committed (not rolled back)


.transaction_depth

View source

Get the current transaction depth


.transaction_depth=(value : Int32)

View source

Increment transaction depth