I found it significantly easier to set up table structures and migrations through ORMs and abstractions as opposed to raw sql scripts.
Moreover, many ORMs give you the tooling to validate data before hitting the db, which is also another huge plus.
I mainly work with Python on the backend, and I've recently switched from SQLAlchemy + marshmallow + alembic to SQLModel and both have been amazing to work with.
I would never dream of setting up tables through plain raw sql ever again.
If it is the case that I'm moving onto a different language, as Go may be it, I'm willing to learn the ORM, granted that it deals with migrations and validations out of the box.
Moreover, many ORMs give you the tooling to validate data before hitting the db, which is also another huge plus.
I mainly work with Python on the backend, and I've recently switched from SQLAlchemy + marshmallow + alembic to SQLModel and both have been amazing to work with.
I would never dream of setting up tables through plain raw sql ever again.
If it is the case that I'm moving onto a different language, as Go may be it, I'm willing to learn the ORM, granted that it deals with migrations and validations out of the box.