How to change the output folder for migrations with asp.net Core? How to change the output folder for migrations with asp.net Core? asp.net asp.net

How to change the output folder for migrations with asp.net Core?


dotnet ef migrations add Initial --context EsportshubApi.Models.ApplicationDbContext -o YourFolderPath

dotnet ef migrations add

Adds a new migration.

Arguments:

ArgumentDescription
<NAME>The name of the migration.

Options:

OptionShortDescription
--output-dir <PATH>-oThe name of the migration.
--namespace <NAMESPACE>-nThe namespace to use for the generated classes. Defaults to generated from the output directory. Added in EF Core 5.0.

The common options are listed above.

Source


For Package Manager Console run this command:

PM> Add-Migration 001 -OutputDir "Data/Migrations"

My structure is:

.AspCoreProject  -Data    -Migrations       20190721162938_001.cs       MainDbContextModelSnapshot.cs

Update:

For removing last migration use:

PM> Remove-Migration

Note: If the migration is already applied to the database, then you will get this error:

The migration '20190721162938_001' has already been applied to the database. Revert it and try again. If the migration has been applied to other databases, consider reverting its changes using a new migration.

Then run:

PM> Remove-Migration -Force

If your migration is not the last migration. first, rollback to the migration you need by Update-Database then delete all migration classes after that migration.

PM> Update-Database -Migration 001

This will revert all migrations after 001


In EF Core 5.0, you are free to move Migration files and changes their namespace manually. New migrations are created as siblings of the last migration. Alternatively, you can specify the directory at generation time as follows:

.Net core CLI

dotnet ef migrations add InitialCreate --output-dir Your/Directory

PowerShell

Add-Migration InitialCreate -OutputDir Your\Directory

EF Core 5.0 documentation