У меня была такая же проблема. По сути, есть способ определить порядок, в котором расширения загружаются , но не при запуске их миграций.
config.extensions = [:all, :site]
Подробнее здесь .
То, как я это делаю, это просто переименовывая папку "db" миграций расширений, которые нужно запустить позже. Когда остальные запустятся, я переименую его обратно в исходное имя и снова запустите миграцию. Грязно, но это работает.
Вероятно, может быть способ создать грабли и автоматизировать их.