The concept of shared models is really well described by Fabio Akita. However, his approach towards migrations comes from his really specific use-case.
When you're working on a young project you're constantly making decisions that will make it either easier or harder to scale later. Sometimes it's good to pick the short-term gain, to accrue a bit of technical debt so you can ship faster. But other times we pick up technical debt because we didn't know there was an alternative.
We have all been there when you see your controller action getting way too long and hold too much business logic. You know you need to email the user, adjust an account, maybe submit to Stripe and finally ping a Slack Webhook
Github has made it easy for millions of developers to publicize their projects so they can attract users and collaborators. But these developers often find themselves spending hundreds of hours building a project, only to push it to GitHub and earn a mere one or two stars.
GitLab, thanks for using PostgreSQL 9.6 and its replication and backup facilities. Thank you for posting this publicly to allow us to comment on this for your postmortem analysis.
Jamie Zawinski is what I would call a duct-tape programmer. And I say that with a great deal of respect. He is the kind of programmer who is hard at work building the future, and making useful things so that people can do stuff. He is the guy you want on your team building go-carts, because he has two favorite tools: duct tape and WD-40.