Interesting post, and absolutely agree with the overall message "write less code and maintain less infrastructure".
Going back to the original problem - the dashboard breaking because of the schema change - did you consider using database views (at least for the dashboard)?
That way you could have made the schema change (including updated views) and the dashboard contract would have been maintained.
The scenic gem even lets you do views "the rails way".
Thanks, Ewan! I hadn't considered database views, but that's a great point -- I'll definitely think of them the next time I encounter a similar problem.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.