Как работает 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
Другие вопросы по тегам