代码之家  ›  专栏  ›  技术社区  ›  DollarChills

Heroku无法在迁移时将字符串转换为整数

  •  1
  • DollarChills  · 技术社区  · 7 年前

    我正在尝试将一些数据库更改迁移到我的Heroku应用程序。我收到一条错误消息,但它并没有真正回避导致它无法迁移的问题。

    跑步时 heroku run rake db:migrate --appname

    can't convert String into Integer
    .heroku/client/lib/heroku/jsplugin.rb:70:in `[]'
    .heroku/client/lib/heroku/jsplugin.rb:70:in `commands'
    .heroku/client/lib/heroku/jsplugin.rb:272:in `find_command'
    .heroku/client/lib/heroku/jsplugin.rb:23:in `try_takeover'
    .heroku/client/lib/heroku/cli.rb:28:in `start'
    /usr/local/bin/heroku:24:in `<main>'
     !    Heroku client internal error.
     !    Search for help at: https://help.heroku.com
     !    Or report a bug at: https://github.com/heroku/heroku/issues/new
    
        Error:       can't convert String into Integer (TypeError)
        Command:     heroku run rake db:migrate --appname
        Version:     heroku-toolbelt/3.43.12 (x86_64-darwin10.8.0) ruby/1.9.3
    

    我想这可能是因为我用的是PG,我把十进制列改成了整数。所以我删除了有问题的专栏,仍然有同样的问题。我也从数据库中删除了所有数据,但仍然没有成功。

    1 回复  |  直到 7 年前
        1
  •  4
  •   mu is too short    7 年前

    在我看来,您有一个旧版本的Heroku客户端(来自Heroku toolbelt 3.43.12)和一个旧版本的Ruby(1.9.3)。AFAIK heroku工具带甚至不再使用,它已被一种新的工具带取代 Heroku client . Ruby 1.9.3不再受支持,因此不应使用。

    也许您的toolbelt版本和Ruby版本彼此不兼容,也许它们与Heroku当前的API不兼容。无论如何,升级到两者的新版本将是一个很好的起点。