Add-Migration while there are explicit migrations pending

.net c# ef-code-first ef-migrations entity-framework

Question

So I have a basic problem trying to generate a migration when I don't have a DB in sync (up to the latest migration, in fact, have no DB at all) and have already made substantial changes to my model.

This are the specific details:

  1. Have a sequence of explicit migrations.
  2. Have no database. In short, have lots of pending changes.
  3. Made changes to the models/context.
  4. When trying to Add-Migration, it will complain saying precisely that explicit migrations are pending.
  5. If I try to execute the migration (and bring my DB in sync), either via Update-Database or migrate.exe, it will fail (after applying explicit migrations successfully), and automatic migrations are not enabled.
  6. I don't want to enable automatic migrations either (to prevent any schema changes to be committed and go unaccounted in code.)

I realize that after the failure in #5 I can now run #4. Then re-try #5 and voilá.

My Question is if this is the expected approach to solve this silly situation.

1
6
9/5/2014 2:58:04 PM

Accepted Answer

I would use the following approach.

First you need to apply migrations and specify the last one.

PM> Update-Database -TargetMigration AnyMigrationName

# It updates database to a migration named "AnyMigrationName"
# This will apply migrations if the target hasn't been applied or roll back migrations
# if it has

When your local database is updated you simply add new migration.

PM> Add-Migration NewMigrationName

# it scaffolds a new migration named "NewMigrationName" 

Looking for a good reference I found these blog posts about EF Migrations that can help you a lot. They cover many questions and EF Migrations and a Merge Conflict and EF Migrations Command Reference in particular.

11
9/7/2014 8:22:39 AM

Popular Answer

this error is shown when you have many Migrations pending.

If you don't need existing migrations, first delete (exclude) all migration on Migration folder and then add a new migration.

Add-Migration new



Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow