3 ms·
Database migrations to arrive at a target state are an interesting beast. It’s not just the destination that matters, it’s how you get there. The naive approac
by koolba 2y ago
Database migrations to arrive at a target state are an interesting beast. It’s not just the destination that matters, it’s how you get there.
The naive approach of applying whatever DDL you need to turn database schema A into B is not necessarily the one anybody would actually want to run, and in larger deployments it’s most definitely not the one you’d want to run.
Intermediate availability and data migration go well beyond simply adding tables or columns. They’re highly application specific.
The main improvements in this space are making existing operations CONCURRENT (e.g., like index creation) and minimizing overall lock times for operations that cannot (e.g., adding columns with default values).
- pphysch 2y agoI agree automating migrations correctly from state A to B without any risk of data loss or downtime is essentially an intractable problem. Still, the popular tools seem to have good heuristics and good DBAs recognize when migrations must be written by hand.
- tianzhou 2y ago(Bytebase co-founder) Bytebase implements this https://www.bytebase.com/docs/change-database/synchronize-schema/ https://www.bytebase.com/docs/change-database/synchronize-sc...