Ruby on rails 在不使用CLI的情况下将schema.rb部署到Heroku

Ruby on rails 在不使用CLI的情况下将schema.rb部署到Heroku,ruby-on-rails,postgresql,heroku,command-line-interface,Ruby On Rails,Postgresql,Heroku,Command Line Interface,我正在使用我大学的ISP,它阻止了5000端口,因此我无法rake db:setup到heroku。我最近运行了heroku rake db:reset,以便创建一个新的数据库,但现在我不知道如何设置它。有什么简单的方法可以做到这一点吗?我已经看过很多关于heroku pg:push的文章,但我似乎不知道我需要为此投入什么。如果我的5000端口被阻止,我如何设置我的postgres数据库 编辑:运行heroku run rake db:migrate时,我收到以下错误消息:ETIMEDOUT:c

我正在使用我大学的ISP,它阻止了5000端口,因此我无法
rake db:setup
到heroku。我最近运行了heroku rake db:reset,以便创建一个新的数据库,但现在我不知道如何设置它。有什么简单的方法可以做到这一点吗?我已经看过很多关于heroku pg:push的文章,但我似乎不知道我需要为此投入什么。如果我的5000端口被阻止,我如何设置我的postgres数据库

编辑:运行
heroku run rake db:migrate
时,我收到以下错误消息:
ETIMEDOUT:connect ETIMEDOUT 50.19.103.36:5000

编辑2:以下是对
dig rendezvous.runtime.heroku.com

`

DiG 9.8.3-P1 rendezvous.runtime.heroku.com
;; 全局选项:+cmd
;; 得到答案:
;; ->>页眉好,因此我在阅读时发现:

heroku run命令在端口5000上打开与heroku的连接。如果您的本地>网络或ISP正在阻止端口5000,或者 遇到连接问题时,您将看到类似以下错误:

  $ heroku run rails console
    Running rails console attached to terminal...
    Timeout awaiting process
您可以通过尝试直接连接来测试与Heroku的连接 使用telnet在端口5000上连接到
rendezvous.runtime.heroku.com
。A. 成功的会话将如下所示:

  $ telnet
    rendezvous.runtime.heroku.com 5000 Trying 50.19.103.36...
    Connected to ec2-50-19-103-36.compute-1.amazonaws.com. 
    Escape character >is '^]'
如果您没有获得此输出,您的计算机将被阻止 访问我们的服务。我们建议联系您的IT部门, ISP或防火墙制造商继续解决此问题

你用的是什么代理?您的ISP阻塞端口5000的说法很可能是对的,因为heroku run不执行HTTP调用,而是使用TCP通过端口5000进行连接,并使用自己的协议

我发现这篇文章提到了通过在后台运行命令来解决这个问题:

$ heroku run:detached rake db:migrate
然后跟踪日志以查看发生了什么:

$ heroku logs -p run.1 -t   

除此之外,我不知道有什么可以绕过5000端口上的阻塞。

经过大量的研究,我发现这只是我所在大学的一个端口阻塞。如果你在大学里遇到这个问题,解决这个问题的最好办法就是去当地一家提供免费wifi的咖啡店。Heroku CLI运行
rails console
rake db:migrate
和许多其他命令所依赖的端口依赖于您能够通过该端口维护连接,因此无法工作。感谢Cyzanfar的帮助。

运行heroku run rake db:migrate时会出现什么错误?请把它加到你的帖子里。另外,我也查看了该页面,但我无法让我的IT部门打开5000端口,因为这是Windows恶意软件的常见场所。刚刚在执行
heroku run rake db:migrate
时添加了我的代码结果。我只是想找到一种迁移schema.rb的方法。我已经尝试过heroku run:distached rake db:setup
,但没有成功。不知道为什么。你能运行
dig rendezvous.runtime.heroku.com
并向我们展示输出结果吗。只是将其添加到原始版本中。
$ heroku logs -p run.1 -t