EF6: Rollback to a previous migration
EF6 migrations/rollbacks are performed with the
This tool is available inside the Entity Framework nuget package, e.g.
You might want to copy that
tools folder to the server from which you need to run the script.
.\ef6.exe database update --assembly "PATH\TO\YOUR_DB_Context_DB.dll" --config "Path\To\Your\Connection\String\Containing\Web.config" --target Migration_To_Roll_Back_To --force -v
You will see output like this:
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
(It always says that even when you did specify a migration!)
Target database is: 'YOUR_DB' (DataSource: YOUR_DB_SERVER, Provider: System.Data.SqlClient, Origin: Configuration).
And for each migration being rolled back you'll see the result of running the 'down' function, as well as removing the migration itself from
Reverting migrations: [202106211412384_Migration_After_The_One_Your_Targeting]. Reverting explicit migration: 202106211412384_Migration_After_The_One_Your_Targeting. DELETE [dbo].[__MigrationHistory] WHERE (([MigrationId] = N'202106211412384_Migration_After_The_One_Your_Targeting') AND ([ContextKey] = N'Your_DbContext'))