I\'ve noticed that when I create a code first database migration using add-migration
it generates a Down()
method as well as an Up()
metho
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.
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.