Schema changes will always be tricky. If they are too expensive nobody will ever touch it, but if it's too convenient people won't really think the changes through and the DB will become a monster. I've seen both.
In seriousness, if we learn anything from code deployments, it's that we should aim for easy and quick deployments, and allow the developers to rollback (undeploy their code).
Today, there is a "natural" mechanism today to push back on database development velocity, which is _time_. It can take hours or more to alter a large table. Can we at least make it possible to quickly revert a change? Here's some work we're pushing in OSS Vitess: https://vitess.io/docs/user-guides/schema-changes/revertible...
(Engineer at PlanetScale)