To be fair I've used an ORM for maybe thirty days max. Did not like it then, and since using SQL builders for a while now, don't intend to revisit them. My reasoning is quite simple, I'm not the best at writing SQL, and trying to learn an abstraction over it, is like a React developer who does not understand JavaScript. Which is the language the browser understands. So I've got to express something in an abstracted language to be translated into something in another language I have no clue about. Sounds kind of silly to me.
On the contrary, when using SQL builder, you still write SQL, to the surprise of no one you get more competent at writing them over a period of time. That's kind of the general rule for building competency. You take the thing that you don't know, and you do them. It kinda looks ugly in the beginning but over time it starts to resemble somewhat okay.
Most of my SQL queries I use are mostly insert
, update
and select
anyway. Occasionally when you need something more complex, the Postgres doc has got a lot of examples. If not someones on the Internet does know how. You are no longer limited to how many people use the ORM you are using. There might be more nuances to it but the database speaks SQL, so it sounds like a good idea to learn that.
Let's say your SQL builder struggles with generating the code that you want, which I'm sure an ORM might struggle too. Even then, you have the SQL query, which you've tested against the database, all that's left to do is to translate it into a language that you hopefully understand well enough. If you have gotten to the point where your server requires complex SQL queries.