heroku不更新数据库模式

时间:2010-10-24 07:33:38

标签: ruby-on-rails database schema migration 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

一切似乎都很顺利......除非我检查db中的实际用户表...

heroku console User

...我得到了旧版本的用户......

User(id: integer, username: string, created_at: datetime, updated_at: datetime)

知道我做错了什么吗? 非常感谢你的帮助!

西蒙

4 个答案:

答案 0 :(得分:24)

heroku rake db:migrate时是否看到任何输出?

迁移后尝试运行heroku restart以重新启动Web服务器和DJ工作程序。这不应该影响你的控制台,但我看到网络服务器在部署后立即服务于旧版本的代码,这通常不是问题,但可以进行挂起的迁移。

答案 1 :(得分:1)

您可能想尝试

  

heroku run rake db:migrate
  heroku重新启动

希望这有帮助。

答案 2 :(得分:0)

接受的答案是正确的。但是,仅供参考,您现在使用heroku run rake db:migrate因为heroku rake db:migrate已被弃用

答案 3 :(得分:-1)

运行heroku rake run db:migrate 然后heroku restart

刷新您的网页,一切正常。