taylorlunt
Joined 10 years ago
Karma
133
Submissions
72
Member since
Apr 6
Joined 10 years ago
I see how if you can't really code, or you're new to a domain, then it can make a huge difference getting you started, but if you know what you're doing I find you hit a wall pretty quickly trying to get it to actually do stuff. Sometimes things can go smoothly for a while, but you end up having to micromanage the output of the agent too much to bother. Or sacrifice code quality.
Database rows map to structs. But it doesn't try to figure out how to mutate the data for you to keep the struct in sync with the database. All mutations are explicit using changesets (which can also be used for other non-database purposes, like validating user input for an API.)
There is no implicit preloading of data. You have to explicitly preload.
Data is never fetched implicitly. You have to call Repo.all or Repo.one or something.
It has a query DSL that's a thin wrapper over SQL. It's well-designed and I've never had a problem with it.