Heroku ruby 应用是 运行 但它的数据库是空的

Heroku ruby app is running but its database is empty

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

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

在那之后,我的应用程序 运行ning 正常,但数据库似乎是空的(表在那里但没有值)并且没有在我的首页上显示文章。 我确定我还不太了解数据库的迁移,但是当我部署我的应用程序时,数据库不应该具有相同的内容吗?

I'm sure that I haven't understand the migration of db quite well but shouldn't the db has the same content when I deploy my application ?

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

之后,您应该看到一个空数据库

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

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