coladarci
The future of upgrading phoenix / liveview apps with generated code
I’m really interested in the future of maintaining phoenix apps given the new practice of dumping generated code into a project versus separating things out as packages (something I think I love).
For example the phx.gen.auth (something that should never have to change, as José eloquently explained a while back when he wrote it). But for core_components I got bit pretty bad; all the form function components were re-written and the new generators require the updates to work. So now I have 20 generated routes (mix phx.gen.live) that work but any new generation will fail. My only recourse was to re-generate a brand new project and diff the core_components and carefully bring over the changes (since I modified the tailwind classes; something that feels reasonable). And even then, I had problems because it meant all my existing routes were broken, so I had to go back and re-write all of the live_views to handle things the new way. (I should note, I love the changes, big props to the change).
That said, there was no change log explaining it, upgrade path, etc…
Curious if I missed something or if others have thoughts on how we can improve this moving forward so we can continue to make phoenix + live view the best web development experience out there.
Most Liked
al2o3cr
I’ve found PhoenixDiff very useful to see what’s changed between releases. It’s basically the diff versus a newly-generated app you described, only automated on a webpage.
Schultzer
Yeah, there is a delicate balance for generated code vs. a library, where the former requires a higher maintenance cost, in that it’s not as easy for a developer inexperienced or not to increment a version number.
And I like your point about even when some generated code is not meant to change; from my experience, software changes over time.
coladarci
Extremely helpful!! Yeah this is amazing and will help an awful lot for future upgrades.
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








