How to rollback EF 7 migrations programmatically?

c# database-migration entity-framework entity-framework-core unit-testing

Question

I would like to write a unit test which migrates to the latest schema then tears back down to nothing.

For the migration I can do :

db.Database.Migrate();

but how to I rollback?

Accepted Answer

The Commands use something like this;

var migrator = db.GetInfrastructure().GetRequiredService<IMigrator>();
migrator.Migrate("Migration1");

Where Migration1 is the name of the migration. This suggests you can stick "0" in there to roll them all back.


Popular Answer

Was digging in the assemblies and found I can do this :

db.Database.GetService<IMigrator>().Migrate("0");


Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why