I’ve been using Kirby for quite some time now and really like the experience I’m having with it so far—especially the flexibility the custom data model brings.
However I often find myself in the position of updating blueprints for existing websites (e.g. because a new field is needed in the data model). As I exclude the content folder from my repository and deploy automatically via Github Actions it often bugs me, that these updates can easily break your site, because the content in production isn’t automatically updated to the new data model (that some of your templates might already expect to be there). So far my only solution is to manually deploy updated blueprints, update the content manually, before deploying everything.
Clearly there must be a better way to update your content automatically to conform to the updated blueprints (by using defaults defined in the blueprint). Having worked in Ruby on Rails projects I immediately think of their powerful migration feature for updating your data model (and occasionally also altering existing data).
So I was wondering: How do you tackle this issue in your projects? Are there any best practices or plugins worth mentioning?