【问题标题】:Heroku run rake db:migrate command doesn't update databaseHeroku run rake db:migrate 命令不更新数据库
【发布时间】:2016-04-19 18:01:19
【问题描述】:

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

  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 是否有问题,或者它是正常行为,甚至如果是新手的失明。

【问题讨论】:

    标签: ruby-on-rails git heroku database-migration migrate


    【解决方案1】:

    首先你的本地数据库和heroku 数据库是不同的。除非您使用通用数据库,否则在本地应用上创建的任何用户都不会在 heroku 应用上可用。

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

    尝试创建用户并在 heroku 应用上发帖,应该一切正常。

    【讨论】:

    • 感谢您的回答。它解释了很多!如果我想完全离线创建我的项目(我知道云 IDE 并不完全离线,但您明白了)并仅在完成后上传,您有什么建议?
    • 随手上传,也有办法将本地数据库迁移到heroku,试试这个:stackoverflow.com/questions/5781201/…
    猜你喜欢
    • 1970-01-01
    • 2017-02-17
    • 2014-07-10
    • 2015-02-20
    • 2014-03-21
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多