Как работает rake db:migrate на Heroku?
Мое приложение просто упало после того, как я нажал на Heroku и побежал rake db:migrate
, Но ошибка не имела смысла...
ActionView::Template::Error (undefined method `email_address' for #<Invite:0x000000065fb788>):
... потому что миграция содержала:
rename_column :invites, :email, :email_address
В итоге я понял, что это работает после перезапуска приложения (heroku restart
). Хорошая сделка.
Тем не менее, я запутался о том, как rake db:migrate
работает сейчас. Каждая другая миграция собирала соответствующий атрибут модели без перезапуска.
Что происходит, когда я бегу rake db:migrate
на Героку? Что побуждает приложение подбирать атрибуты новой модели и почему оно не сработало на этот раз?
1 ответ
В новом приложении rails вы можете увидеть следующее
.../ конфигурации / среда / development.rb
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
.../ конфигурации / среда /production.rb
# Code is not reloaded between requests
config.cache_classes = true