首页 > 解决方案 > Heroku ruby​​ 应用程序正在运行,但其数据库为空

问题描述

我是 ruby​​ 和 ruby​​ on rails 的新手,我刚刚将一个简单的应用程序部署到 Heroku 只是为了练习。它是一个简单的博客应用程序,只有基础知识(文章、评论、标签、登录)它连接到我的 github 存储库起初它没有运行(即使它已成功部署)所以我运行这个:

heroku run rake db:migrate --app "my-app-name"

之后,我的应用程序运行正常,但数据库似乎为空(表在其中但没有值),并且没有按应有的方式在我的首页中显示文章。我确定我对 db 的迁移不是很了解,但是当我部署我的应用程序时,db 不应该具有相同的内容吗?

标签: ruby-on-railsrubydatabaseherokuheroku-postgres

解决方案


我确定我对 db 的迁移不是很了解,但是当我部署我的应用程序时,db 不应该具有相同的内容吗?

不,除非您创建数据,否则数据不会出现在您的应用程序中,而且您希望看到什么数据也不是很清楚。在第一次部署到 Heroku 并运行rails db:migrate.

您是否希望在本地开发环境中创建的数据出现在部署的应用程序中?这不是数据库的工作方式,您的本地数据用于开发目的,不会随您的代码“附带”。您在处理时创建的数据(例如)localhost:3000与您的生产环境或生产数据完全无关。

另一方面,如果有您希望出现的种子db/seeds.rb数据,并且您正在创建它,那么您需要运行rails db:seed.


推荐阅读