【问题标题】:How do I run rake db:migrate in automated deploy with heroku or heroku-api gem?如何使用 heroku 或 heroku-api gem 在自动部署中运行 rake db:migrate?
【发布时间】:2012-09-05 21:37:40
【问题描述】:

我在 rake 任务中使用它:

client = Heroku::Client.new('', 'heroku-api-key')
client.rake 'my-app-name', 'db:migrate'

我得到的只是

RestClient::UnprocessableEntity: 422 无法处理的实体。

其他命令也可以,比如

client.ps('my-app-name')

heroku client.rb 使用

rake(app_name, cmd)

所以我不确定出了什么问题。即使使用 RESTCLIENT_LOG=stdout,我也看不到调试响应的方法。

【问题讨论】:

  • 我一直都在做heroku run rake db:migrate;这对您不起作用,还是有其他原因您尝试使用Heroku::Client 执行此操作? (诚​​实的问题——我对那个库基本上一无所知。)
  • 项目是否启用了 SSL?
  • 它作为 Travis 自动部署的一部分运行,所以我有 Heroku API 密钥,但我不打算将完整的 Heroku 凭据放入我的 git 存储库。这就是为什么我不能使用正常的heroku run rake 方法。

标签: ruby-on-rails ruby deployment heroku


【解决方案1】:

如果您导出 API 密钥,您可以运行 heroku 命令行,而无需编写 API 脚本:

export HEROKU_API_KEY=<your key>
heroku run bundle exec rake db:migrate

【讨论】:

    【解决方案2】:

    有点太晚了,如果你还没有弄清楚,试试这个。

    heroku run bash 然后

    rake db:migrate 就像在本地机器上一样

    【讨论】:

      猜你喜欢
      • 2013-03-08
      • 2017-07-30
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      相关资源
      最近更新 更多