However, in the reverse way, the migrations defining the models (as in Rails) often leads to mismatches as well. There's no easy solution to this problem, alas.
When model-based migrations work, they work really well, and help reinforce code schema/database schema being entirely in sync.