Interesting, then what is your alternative? It seems like hand-rolling all of your migrations would be an enormous pain on larger projects.
This migration pattern is quite common in many frameworks, I just removed the query-building abstraction layer.