Наконец-то все получилось с помощью ответа Доши здесь . (И спасибо hernanvicente выше за подсказку.)
Убедитесь, что ваша версия ruby соответствует версии, запущенной на Heroku. Кажется, 1.9.2 - самая стабильная версия для этих миграций.
Измените свой gemfile, чтобы иметь следующее (при условии, что вы используете SQLite):
group :development do
gem 'taps', :require => false
gem 'sqlite3'
end
Это, вероятно, все еще не решает вашу проблему, потому что ваша команда heroku db:push
использует панель инструментов Heroku вместо старой, теперь устаревшей самоцветы heroku. К сожалению, нам на самом деле нужен более старый камень, но панель инструментов Heroku вызывается heroku
. Чтобы обойти это, вам нужно будет установить гем heroku в вашей версии ruby 1.9.2, а затем получить к нему доступ по определенному пути к файлу.
Итак, следующие шаги показывают, как вы можете заставить это работать:
Запустите следующие команды в вашей консоли:
rvm install ruby-1.9.2-p320
rvm use ruby-1.9.2-p320
bundle install`
sudo gem install heroku --no-ri --no-rdoc
Затем запустите:
rake assets:clean
bundle exec rake assets:precompile
Передайте ваши изменения в Github.
Затем введите следующее в вашу консоль:
~/.rvm/gems/ruby-1.9.2-p320/gems/heroku-2.40.0/bin/heroku db:push
(Используйте свой собственный путь к файлу, если он отличается от этого.)