The migrator is taking excessively long to map out dependencies. It recalculates the dependency tree every time it checks whether a migration is fulfillable. While running the 3.0.5 migration in database_update.php, which I did not allow to complete due to the excessive amount of taking it was taking, the unfulfillable method was called 2,109,951 times. Since the unfulfillable method calls the get_migration method, migration classes were also instantiated that many times as well. The migrator should be storing the fulfillable status once it has been determined to avoid all of this.