Entity framework Core Update-database specific migration

I am trying to figure out how to run a specific migration from the package manager in nuget.

I have tried to run:

 update-database -TargetMigration test32

But I do get this message:

A parameter cannot be found that matches parameter name 'TargetMigration'.

I read about that command from Microsoft's documentation to a previous ef version.

So I am not sure how it is in ef core.


Solution 1:

According to EF Core Docs, correct parameter name is -Target (for EF Core 1.1) or -Migration (for EF Core 2.0)

so in your case:

update-database -target test32

or

update-database -migration test32

"Modern" way is to use "regular" command prompt and .NET Core CLI, and command like dotnet ef database update <target>

Solution 2:

The best answer given by Dmitry is a bit incorrect. There's no parameter -Target. The only parameter that can be applied is -Migration. Therefore, the right answer is:

Update-Database -Migration test32

Solution 3:

For EF Core 3.1 via Package Manager Console:

dotnet ef database update YourMigrationName

Solution 4:

Just wanted to add to what Plastiquewind mentioned. In the current version, there is no -target parameter. You have to use -migration. Also, you can specify the context (if you have more than one) with the -context parameter.

Update-database -context MyContext -migration MyMigration