| ▲ | dewey 2 hours ago | |||||||
I'm always in the market for new sql tooling, but I'm wondering what's the use case there? Isn't it much quicker to write a one line migration vs copying the DDL, then adapting it to the desired state and then getting getting the migrations from that tool? Or am I misunderstanding something? | ||||||||
| ▲ | evanelias 2 hours ago | parent [-] | |||||||
Be sure to look at the actual sqldef command-line tool, not the trivial copy-and-paste demo on their website. Declarative schema management is best used combined with a Git repo. In the big picture, declarative schema management has lots of advantages around avoiding/solving schema drift, either between environments (staging vs prod) or between shards in a sharded setup (among thousands of shards, one had a master failure at an inopportune time). It's also much more readable to have the "end state" in your repo at all times, rather than a sequence of ALTERs. There are a bunch of other advantages; I have an old post about this topic here: https://www.skeema.io/blog/2019/01/18/declarative/ It's also quite essential when maintaining nontrivial stored procedures. Doing that with imperative migrations is a gateway to hell. https://www.skeema.io/blog/2023/10/24/stored-proc-deployment... | ||||||||
| ||||||||