Necesito aplicar las migraciones de Entity Framework Core una por una en el código , puedo llamar a la await dbContext.Database.MigrateAsync();
pero aplica todas las migraciones pendientes en un bloque.
¿Existe una extensión u otro método para aplicar las migraciones solo una por una o seleccionando el nombre de la migración que se aplicará?
Existe un servicio IMigrator con un método Migrate(string targetMigration)
que recibe el nombre de la migración, este método es usado por la extensión Migrate()
. Desde una instancia de DbContext se puede utilizar como:
await dbContext.Database.GetInfrastructure().GetService<IMigrator>().MigrateAsync(targetMigrationName);
Los nombres de las migraciones pendientes se pueden consultar mediante esta extensión:
var pending = dbContext.Database.GetPendingMigrations();