Entity Framework 6 Model First Migration

Levent picture Levent · Jan 28, 2014 · Viewed 8.1k times · Source

Desired outcome:

Use model first approach with Entity Framework and allow changes to deployed database/ model to be done automatically based on the changes in the model. Automatic schema difference script generation to allow smooth migrations.

Is there a way to perform migrations in model first EF6? I can see code first migrations topics all over, but nothing much on Model First.

Options I saw so far:

Answer

Olaf picture Olaf · Jan 28, 2014

As far as I know there still is no automatic migration for Entity framework model first.

Our approach is:

  1. Create a fresh database from the model.
  2. Create a diff script to migrate the old database to the new one.
  3. Verify that this diff script is indeed correct. Always double check what your automation tool creates.

We first used Open DB diff for our model first migrations. After that we switched to Redgate's SQL compare because it produced more reliable migrations . In our experience DbDiff produced a lot of unnecessary SQL because it bothers with the order that columns are in, and has some other issues like foreign keys constantly being dropped and re-added. Aside from that it still did the job fine, but we had to do a lot of double checking on its generated SQL.