How do you downgrade a Entity Framework 5 migration in Visual Studio 2012?
Solution 1
After almost giving up with researching on Google I managed to find this quote from here:
Which Specifies:
Let’s say we want to migrate our database to the state it was in after running our AddBlogUrl migration. We can use the
–TargetMigration
switch to downgrade to this migration.Run the
Update-Database –TargetMigration: AddBlogUrl
command in Package Manager Console. This command will run the Down script for our AddBlogAbstract and AddPostClass migrations.If you want to roll all the way back to an empty database then you can use the
Update-Database –TargetMigration: $InitialDatabase
command.
Solution 2
First get the name of the migration that was applied before the one you want to downgrade by issuing the Get-Migrations command.
PM> Get-Migrations
Retrieving migrations that have been applied to the target database.
201508242303096_Bad_Migration
201508211842590_The_Migration_applied_before_it
201508211440252_And_another
This list shows the migrations listing the most recent applied migration first. Pick the migration that occurs in the list after the one you want to downgrade, ie the one applied before the one you want to downgrade.
Update-Database –TargetMigration: "<the migration applied before it>"
All migrations applied after the one specified will be down-graded in order starting with the latest migration applied first.
Jamie Street
Full Stack Developer at Campus Society, a social network for university students. SOreadytohelp
Updated on September 04, 2020Comments
-
Jamie Street over 3 years
I've noticed that when I create a code first database migration using
add-migration
it generates aDown()
method as well as anUp()
method.How do I tell my database to downgrade?
-
Alamakanambra about 3 yearsNow in EFcore it is bit different:
Get-Migration
(no plural) andUpdate-Database "name of migration you want to apply"
(no TargetMigration parameter)