Hello, I’m using Ecto for a project or mine and I’m running into issues with the rollback not working with a failed Ecto.Multi transaction that spans multiple databases. Is this not possible? Am I missing something?
Here’s a bit clearer example:
Multi.new
|> Multi.run(:db1, fn _, _ -> ModuleA.does_some_data_transformation_in_a_transaction_on_repo1() end)
|> Multi.run(:db2, fn _, _ -> ModuleB.does_some_data_transformation_in_a_transaction_on_repo2() end)
|> Multi.run(:db3, fn _, _ -> ModuleC.does_some_data_transformation_in_a_transaction_on_repo3() end)
|> Repo3.transaction()
If the :db3 step fails the other two transactions aren’t rolled back. Is there a way to achieve this?