Hacker News new | ask | show | jobs
by edw 2151 days ago
Both your and the parent's sentiments are so on-point. And they're one of the reasons I don't like ORMs or the use of in-app constraint checking. The mid-Aughties rise of CRUD-focused frameworks that treat the database as a sidecar to the web app ignored as inconvenient the full power of an RDBMS, in part because MySQL was the not-full-RDBMS that they were often paired with.
1 comments

I think a big part of it is a general fear of database migrations. Once you embrace schema evolution as a normal part of development, it becomes natural to have your schemas reflect your true data constraints and relationships. Rather than just unlabeled sacks of text fields.
I remember working on my first full-stack project, I was so intimidated by migrations. Nowadays I couldn't imagine starting even a small side project without writing migrations from the first commit.

Unfortunately, I think a lot of new developers resort to MongoDB because they think it's better for early stage evolving schemas. It's certainly more open to changing your schema on the fly, but perhaps not for the better.

Django's migration tool is awesome; I can see how people could get seduced by it. It's happened to me.
Django's migration tool is one of the main reasons I can't leave django.

What comparative ORMs do you use for non-django, or non-python languages?