chriscox
AEAsh Elixir
•Created by chriscox on 8/7/2023 in #support
Transactions
There appears to be several ways to handle transactions, but I'd like to really narrow in on a clean way to handle logging entries from within a transaction. Let's use a simple example such as a Post. So when I create a Post from a Phoenix LiveView, I'd like to call a wrapper action for it such as
Post.create_with_log(%{title: title})
Then in my Post resource file, I could possibly:
1) Create a code_interface
definition such as define(:create, args: [:title], action: :create_with_log)
2) Define the action such as:
Of course this is simplified not fully working. But it's not clear to me if this is the idiomatic way to handle something like this. I can use Flows or even wrap an Ecto.Multi call, but seems that actions are already transactional and I should be able to re-use the mechanism for this.
Thoughts?6 replies