That is odd, as the table is leading, and the Migrate class will recreate the php file from the table data if it is missing or incomplete. It does that in its _init() method, upon load.
Once both are in sync, it uses the config data, as that is stored in memory and doesn't require further database I/O.
If it isn't recreated, check if your user has write rights in your app/config directory so it can create the migrations.php file.
Also be careful that your web server user may need to be able to read it, so take care of the correct permissions if you use a commandline user to update files.