What do you do when you have five similar queries, and each needs to be changed if one changes?
This seems like smaller projects might work, but I'd be concerned about using a strategy on a larger project.
Not a fan of this strategy in particular, but I can see arguments for it.
In short, I truly utilize a DB with full effects.
I don't follow the mantra of using a DB "only" as a dumb datastore. Something that I get validated as when people use NoSQL and have not option that use all of it.
This mean, that I use views and stored procedures/functions.
This cut a lot. Also, proper modeling of tables also help (a lot). I refactor DBs.
I mean, I truly treat a DB as "code".
Obviously, this strategy is not flawless, and it will benefit from some kind of ORM-ish layer to auto-generate the mechanical parts of the querys. I'm building that part myself.
But so far, is have show to be good.
Exactly as with sql upgrade scripts.
It look like this:
Then I just parse this file (note the names with --) once and use this alike (in F#): And plug a micro-orm (mainly just a very thin layer over ADO.NET in .NET. I do similar over swift and python).This take me like a few hours. Let me test easily the sql. I can build the sql exactly as I want.
The only cons is the repetition on the scripts - because SQL is a terrible language that not allow composability, like similar to CSS - . Probably I will later use a template parser (like mustache or similar) but I think this is the closest to the holy grail ;)