heroku 不更新数据库架构

发布于 2024-09-28 22:56:39 字数 744 浏览 0 评论 0原文

当我部署时,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

假情假意假温柔 2024-10-05 22:56:39

当您 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.

最舍不得你 2024-10-05 22:56:39

你可能想尝试

heroku 运行 rake db:migrate
heroku 重新启动

希望这有帮助。

You might want to try

heroku run rake db:migrate
heroku restart

Hope this helps.

萧瑟寒风 2024-10-05 22:56:39

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

The accepted answer is right. FYI though, you now use heroku run rake db:migrate because heroku rake db:migrate is deprecated

总攻大人 2024-10-05 22:56:39

运行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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文