Heroku не обновляет схему базы данных
Heroku, похоже, не обновляет мою схему базы данных при развертывании. Вот подробности:
Вот что должно выглядеть для класса User:
create_table "users", :force => true do |t|
t.string "username"
t.datetime "created_at"
t.datetime "updated_at"
t.string "email"
t.string "encrypted_password"
t.string "salt"
t.string "remember_token"
t.boolean "admin", :default => false
конец
Вот моя процедура развертывания:
git push heroku master
heroku rake db:migrate
heroku db:push
Кажется, все идет гладко... за исключением того, что если я проверю фактическую таблицу User в db...
heroku console User
... Я получаю старую версию User...
User(id: integer, username: string, created_at: datetime, updated_at: datetime)
Любая идея, что я делаю неправильно?
Большое спасибо за вашу помощь!
Саймон
Ответы
Ответ 1
Вы видите какой-либо вывод, когда вы heroku rake db:migrate
?
Попробуйте запустить heroku restart
после перехода на перезапуск веб-серверов и DJ-работников. Это не должно влиять на вашу консоль, но я видел веб-серверы, обслуживающие старые версии кода сразу после развертывания, что обычно не является проблемой, но с ожидающими переходами может быть.
Ответ 2
Возможно, вы захотите попробовать
heroku run rake db: migrate
Перезагрузка героя
Надеюсь, что это поможет.
Ответ 3
Принятый ответ правильный. FYI, теперь вы используете heroku run rake db:migrate
, потому что heroku rake db:migrate
устарел
Ответ 4
Выполнить heroku rake db:migrate
Тогда heroku restart
Обновите свою веб-страницу, и все должно работать.