I have a pretty large existing project and I want introduce Ash. I have existing schemas, migrations, etc. It’s a Phoenix project. The good news here is that the scope of the project touches really lightly on existing schemas. It’s not quiet greenfield, but close enough.
The documentation for Ash is… a lot. This is a good thing. I’ve watched some videos, gone through the LiveBook, read stuff all over the place (actual docs, blogs, etc.). I’m now at the place where the rubber meets the road and for Ash Postgres… it’s got its own repo, migrations (well sorta), etc. Is there some kind of guide one pitfalls, gotchas, best practices… maybe an unfinished blog article on the matter? Haha. (So it’s not lost in this post, that is the actual question.)
Longer Version for context:
I have been eyeballing Ash for at least a year. The system in question uses a library I put together ages ago (my first Elixir project actually) and some conventions to mimic the resource model. (We’re even running JSON:API.) When I dug into Ash… “OMG. This is basically an awesome version of what I was doing put together by someone who was able to articulate the the problem I was trying to solve much better than I was!”
My long term goal is to see how we like it in reality on this project and, if it works as well as I expect, put together a plan to replace our custom stuff with Ash. Not only does it appear to be far superior, but I think the work involved in our backporting–though in no way trivial–will pay far greater dividends than trying to fix/improve/better document our own stuff. Plus we get a community behind us rather than working in a proprietary silo.
Anyway, this is both my goal and frankly, who doesn’t love getting to mess with something new in their professional life? Any info before I actually start coding would be appreciated.