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
end
这是我的部署过程:
git push heroku master
heroku rake db:migrate
heroku db:push
一切似乎都很顺利......除了如果我检查数据库中的实际 User 表......
heroku console User
我获取旧版本的用户...
User(id: integer, username: string, created_at: datetime, updated_at: datetime)
知道我做错了什么吗? 非常感谢您的帮助!
西蒙
Heroku doesn't seem to update my database schema when I deploy. Here are the details:
Here is what is should look like for the User class:
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
end
Here is my deploy procedure:
git push heroku master
heroku rake db:migrate
heroku db:push
Everything seems to go smoothly... except that if I check the actually User table in db...
heroku console User
... I get an old version of User...
User(id: integer, username: string, created_at: datetime, updated_at: datetime)
Any idea what I am doing wrong?
Thanks a lot for your help!
Simon
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
当您
heroku rake db:migrate
时,您看到任何输出吗?迁移后尝试运行
heroku restart
以重新启动 Web 服务器和 DJ Worker。这不应该影响您的控制台,但我已经看到 Web 服务器在部署后立即提供旧版本的代码,这通常不是问题,但对于挂起的迁移可能会出现问题。Do you see any output when you
heroku rake db:migrate
?Try running
heroku restart
after you migrate to restart the web servers and DJ workers. That shouldn't influence your console, but I have seen web servers serving old versions of the code immediately after a deploy, which normally isn't a problem but with pending migrations can be.你可能想尝试
希望这有帮助。
You might want to try
Hope this helps.
接受的答案是正确的。仅供参考,您现在使用
heroku run rake db:migrate
因为heroku rake db:migrate
已弃用The accepted answer is right. FYI though, you now use
heroku run rake db:migrate
becauseheroku rake db:migrate
is deprecated运行heroku rake run db:migrate
然后
heroku restart
刷新您的网页,它应该可以正常工作。
Run
heroku rake run db:migrate
Then
heroku restart
Refresh your web page and it should all work.