Some Ecto functions give you a “repo” variable, such as Ecto.Changeset.prepare_changes or Ecto.Multi.run.
The docs don’t say you must use this, AFAIK, I think it’s just convenience? Can I ignore it and use my normal convenience functions or will I get bitten by some hard-to-track DB consistency issue?
|> Ecto.Multi.run(:do_it, fn _repo, %{post: post} ->
# doesnt pass the db access "through" repo
Users.update_recent_posts(post)
end)