Great work! I have been wanting this to exist for some time but never been able to get around to building it myself. I have some initial thoughts listed below that came to mind whilst looking through the guides and I will definitely be looking to contribute where I can.
- Support a non global config. Allow the config to be specified per instance of
Repoin the supervision tree. This provides more flexibility and if the user wants a global config they can still do it. - Default datetimes to
utc_datetime_usec. I believe this plays better with Elixir’s datetime module (no need forDatetime.truncateeverywhere) and I seem to remember reading that the ecto core team wish they did this but now can’t due to backwards compatibility. - Support having snake case schema fields. I see the rational in enforcing camel case but as it’s not idiomatic Elixir it will end up forcing some inconsistency in the user’s application. This seems more like a db implementation detail and I think it should be possible to support snake case fields and then convert to camel case in the queries when dealing with the db.
But honestly it’s looking really good so far!






















