Heroku не устанавливает логическое поле в приложении rails - PullRequest
1 голос
/ 16 сентября 2011

Он передает параметр в качестве replace_emails, что правильно.Из журнала:

Parameters: {"utf8"=>"✓", "authenticity_token"=> ... "replacement_emails"=>"1"}, "commit"=>"submit", "id"=>"1"}

Но это не устанавливается в базе данных.Нет сообщений об ошибках в журнале, ничего.Он работает в разработке с SQLite.

Есть мысли?Почему он работает в разработке, а не в производстве на Heroku?

Ответы [ 2 ]

2 голосов
/ 17 октября 2012

Я столкнулся с вашим вопросом сегодня, когда у меня была похожая проблема, и я могу объяснить, что происходит.

Выполнение миграции Rails на Heroku не приводит к автоматическому перезапуску приложения, поэтому ваш новый код может видеть старый вид базы данных через существующее соединение с базой данных. Это может вызвать странное поведение (например, доступ к столбцу, который не существовал до выполнения миграции).

Ручной перезапуск приложения приведет к его повторному подключению к БД и просмотру изменений.

Откат или повторное развертывание также приведет к перезапуску приложения и повторному подключению к базе данных.

Просто не забудьте перезапустить ваше приложение после запуска rails-миграции.

1 голос
/ 19 сентября 2011

После выполнения отката развертывания, затем повторного развертывания - он просто внезапно работает.Не уверен, что не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...