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
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.