Last Updated: May 17, 2026
A migration is a versioned, code-reviewable description of how your database schema should change. Without migrations, you'd either edit production tables by hand (terrifying) or drop and recreate the database every time a class changes (fine for demos, useless for anything real). EF Core's migrations system tracks every schema change as a checked-in C# file, applies them in order, and remembers which ones have already been run. This lesson covers the workflow: installing the tooling, creating migrations, applying them, rolling back, generating SQL for production, seeding data, and the small set of things that go wrong if you treat migrations carelessly.