Heroku 运行 rake db:migrate 命令不更新数据库

Heroku run rake db:migrate command doesn't update database

我正在阅读 railstutorial.org Chapter 2 (about toy_app) using cloud IDE,但我 运行 遇到了一个问题。我是新手,所以我会很感激一个简单的解决方案和解释我做错了什么。

  1. 我按照教程中的描述执行了每个步骤:我创建了 'hello world' 索引页面并将其推送到 heroku。我也重命名了我的 heroku 站点(教程中不需要)。那一刻一切都很好
  2. 我添加了用户模型和微博模型。我已经启动了一个本地服务器(在第二个终端上输入 rails server -b $IP -p $PORT)并添加了一些用户和微博。同样,一切都按预期工作。
  3. 我没有关闭本地服务器。我提交了对 git 的更改,并将其推送到 Bitbucket,然后推送到 heroku。最后,我输入了 heroku run rake db:migrate。这是本教程的最后一步。

一切似乎都很好,但我注意到我在本地服务器上添加的帖子和用户在我的 heroku 站点上不可见。由于我没有关闭我的本地服务器,我检查了它并且我创建的帖子仍然可用。正如我所说,我的 heroku 网站上的情况有所不同。

我在那个过程中没有收到任何错误,在输入 git push 后只有一个警告:Warning: Permanently added the RSA host key for IP address ... to the list of known hosts。下次没出现。

在我第一次尝试每一步之后,我得到了有希望的输出。第二次和下一次尝试后返回

On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean`

Everything up-to-date

所以还是没什么好担心的。

我尝试重新启动服务器,在关闭本地服务器后再次执行这些步骤,但没有帮助。我搜索了解决方案,但我发现的只是大量错误或不同问题的问题。

实际上,这是我可以接受的问题,因为我不需要在这个阶段更新它,但我想听到一个答案,看看 heroku 是否有问题或者它是正常行为或者即使是新手的盲目。

首先你的本地数据库和heroku数据库不一样。除非您使用公共数据库,否则在本地应用程序上创建的任何用户都不会在 heroku 应用程序上可用。

rake db:migrate,在其最基本的形式中,只是 运行 所有尚未 运行 的迁移的 change 或 up 方法。如果没有这样的迁移,它就会退出。它将 运行 这些迁移根据迁移日期按顺序进行。

尝试在 heroku 应用程序上创建用户和 post,它应该可以正常工作。