Если вы используете mysql, вы можете проверить, действительно ли он создал внешний ключ? Я согласен, что в соответствии с документацией schema.rb, если вы планируете переместить приложение в другую систему, вы должны запустить rake db: schema: load. Так что, если информации нет, она, очевидно, не будет работать. Вы были бы вынуждены пройти через все ваши миграции. Я читал исходный код гема иностранца, и кажется, что гем должен внедрить операторы в вашу схему. Ссылка на код, который я думаю, делает это:
https://github.com/matthuhiggins/foreigner/blob/master/lib/foreigner/schema_dumper.rb
Единственное, что я могу вам сказать, это сгенерировать schema.rb с нуля и посмотреть, полностью ли заполняется схема. Если нет, кажется, вы будете вынуждены выполнить миграцию при переходе на другую систему. Вы также можете опубликовать свой вопрос на странице проекта github. Разработчики обычно довольно быстро отвечают.