Changing the purity of changesets is an enormous change.
What, specifically, does it hurt? (I mentioned that it makes testing require a db, but that we could use separate functions for in-memory and database-dependent validations and test them separately.)
Rather you’d want to set some kind of callback in the changeset that would get called whenever you passed the changeset to Repo.insert or Repo.update
Ecto no longer supports callbacks, right? And what’s the advantage of doing it in one of the locations shown below vs the other?
# here
changeset = Event.changeset(%Event{}, event_params)
# vs here
case Repo.insert(changeset) do
{:ok, _event} ->
...






















