部署时,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)
知道我做错了什么吗? 非常感谢你的帮助!
西蒙
答案 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
刷新您的网页,一切正常。