【问题标题】:heroku db:push - Heroku client internal errorheroku db:push - Heroku 客户端内部错误
【发布时间】:2012-08-18 19:01:12
【问题描述】:

我试图将我的本地数据库放到 Heroku 上的现有应用程序中并收到此错误:

Sending schema
Schema:        100% |==========================================| Time: 00:00:07
Sending indexes
schema_migrat: 100% |==========================================| Time: 00:00:00
Sending data
3 tables, 3,621 records
schema_migrat: 100% |==========================================| Time: 00:00:00
 !    Heroku client internal error.===                         | ETA:  00:01:04
 !    Search for help at: https://help.heroku.com
 !    Or report a bug at: https://github.com/heroku/heroku/issues/new

    Error:       undefined method `headers' for nil:NilClass (NoMethodError)
    Backtrace:   /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/utils.rb:173:in `reraise_server_exception'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:522:in `rescue in block (2 levels) in push_data_from_table'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:507:in `block (2 levels) in push_data_from_table'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/utils.rb:102:in `calculate_chunksize'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:491:in `block in push_data_from_table'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:481:in `loop'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:481:in `push_data_from_table'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:476:in `block in push_data'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:471:in `each'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:471:in `push_data'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:412:in `block in run'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:203:in `call'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:203:in `catch_errors'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/operation.rb:405:in `run'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/taps-0.3.24/lib/taps/cli.rb:172:in `clientxfer'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.30.3/lib/heroku/command/db.rb:192:in `taps_client'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.30.3/lib/heroku/command/db.rb:30:in `push'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.30.3/lib/heroku/command.rb:193:in `run'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.30.3/lib/heroku/cli.rb:25:in `start'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.30.3/bin/heroku:16:in `<top (required)>'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/bin/heroku:19:in `load'
                 /Users/adam/.rvm/gems/ruby-1.9.2-p290/bin/heroku:19:in `<main>'

    Command:     heroku db:push
    Plugins:     heroku-sql-console
    Version:     heroku-gem/2.30.3 (x86_64-darwin10.8.0) ruby/1.9.2

奇怪的是,昨天一切正常,我能够毫无问题地将本地数据库推送到 Heroku。 今天,我刚刚在我的数据库中添加了另一列,并想将其推送到现场 - 并得到了这个错误。

我尝试了 3 次实时推送数据库,所有尝试都失败了。

哪里有问题?

【问题讨论】:

  • 我记得由于本地和 Heroku 的 ruby​​ 版本不匹配而出现这样的问题:你碰巧在本地使​​用 1.9.3 吗?如果您将 db:push 切换到 1.9.2 可能会有所帮助(假设您使用 rvm,否则建议您使用 rvm 来执行此操作)。
  • 我最终拒绝了它,它运行良好,可能是 Heroku 的一个小问题。

标签: ruby-on-rails database heroku push taps


【解决方案1】:

帮我指定需要的表格:

heroku db:push --tables table1,table2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    相关资源
    最近更新 更多