I'm having a conversation on a
Reddit thread about Ecto's documentation that has lead me to want to clarify a few things.
One of those being Changesets.
In the base of the hex docs, we say that
Ecto.Changeset - changesets provide a way to track and validate changes before they are applied to the data
...
Ecto.Changeset - how to change the data
However, Changesets have nothing to do with changing data until they are passed in to a function to execute the changes they store.
I think having changesets as a separately documented library would potentially fix some of the friction from Ecto, since changesets are truly just a way to track and validate changes between structs. Ecto itself can then extend Changesets to work with schemas, and include validations using external data (like the fk ones).
Alternatively, I can take a shot at overhauling the documentation to be a bit more clear.
Let me know your thoughts!