Подтвердить что ты не робот

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)

Любая идея, что я делаю неправильно? Большое спасибо за вашу помощь!

Саймон

4b9b3361

Ответ 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

Обновите свою веб-страницу, и все должно работать.