I found my (stupid) mistake, I hadn't changed the initialisation code but i had managed to deregister it so it wasn't getting called.
I moved it to the static constructor on my context and all was happy.
static MyContext()
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
}