This is just wrong. Rails works very well for 90% of the situations. When it stops working that’s great news:
You’ve won!
You’re Twitter, Facebook or the next big thing. You’ll find talent and money to replace your rails app.
Can you name a framework where you roll back schema changes and don't lose data?
> being careful not to take down the whole thing
You still need this caution if you don't use rails
> a certain change required a full table lock or a certain index would take so long to create, etc.
I feel like you're just describing working with a relational database in a production setting. This isn't rails specific
> Rails, it's set up to be nice and simple for a hello world example
Sure. I'm also pretty sure it's used in production by some great companies whose applications/APIs are a pleasure to use - SendGrid, Github, Stripe, and last time I checked Hulu to name just a few.
Just because it's not the framework of choice for the majority of companies doesn't make it incapable of being used at scale.
I’ve mostly found that migrations work best as a structure way to just run normal SQL and know a) what ran b) when.
For that they are handy.
I’ve even considered how to structure a stand alone migration running tool with a nice API since the good ones for each language tend to be fairly different.
It annoys me that the tooling around RDBMS in 2019 is still so shit.
Prime example, try to find a halfway reasonable way to debug a badly written MySQL sproc you inherited.
As is so often the case in Rails, it's set up to be nice and simple for a hello world example but little more. It doesn't actually make things as simple as they seem at first, and you're on your own to figure out which of its niceties are actually helpful and which are dangerous to use that you need to build your own workarounds for.