"UPDATE table_name SET w = $1, x = $2, z = $4 WHERE y = $3 RETURNING *",
does not do the same as
"UPDATE table_name SET w = $1, x = $2, y = $3, z = $4 RETURNING *",
It’s 2 am and my mind blanked out the WHERE, and just wanted the numbers neatly in order of 1234.
idiot.
FML.
Yep. If you’re in a situation where you have to write SQL on the fly in prod, you have already failed.
Me doing it for multiple years in a Bank…Uhm…
(let’s just say I am not outting my money near them… and not just because of that but other things…)
it’s time to commit sqlpukku
Tell that to my former employer…
Yeah, I swear it’s part of the culture at some places. At my first full-time job, my boss dropped the production database the week before I started. They lost at least a day of records because of it and he spent most of the first day telling me why writing sql in prod was bad.
I genuinely think it makes more sense to write your own management system in a language of your choice rather than writing SQL by hand.
Of course, it makes more sense to just use one that’s already out there. But still.