Your comments

Unless you support branching of the model that solution doesn't work in real world with concurrent development. Let me give you an example:

Let's say I have model with tables A,B,C (version 1). I am working on a big feature and add tables D,E,F with relationship between D->A (version 2). That feature is not ready to go to production. In the meantime we have a small feature to add a column to table A (version 3) and that is rolled out to production. Then we add some more columns to table D and drop table F (version 4) and then finally ready to rollout that feature. 

Using "model migration" feature there is no way to get correct SQL for the big feature changes. I can get DDL for version 1->2 and 3->4 but that will include adding then dropping table, instead of just having create table DDL for tables D,E

And that is just a simple example.