DollarChills
DollarChills

Reputation: 1096

Heroku can't convert String into Integer on migrate

I'm trying to migrate some database changes to my Heroku app. I'm getting an error message, but it's not really eluding to the issue that's cause it to not migrate.

When running heroku run rake db:migrate --appname

I get this error

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

I though it may be because i'm using PG and I changed a decimal column to an integer. So i removed the column in question and still having the same issue. I removed all data from the database too, but still no luck.

Upvotes: 1

Views: 470

Answers (1)

mu is too short
mu is too short

Reputation: 434915

Looks to me like you have an old version of the Heroku client (from heroku-toolbelt 3.43.12) and an old version of Ruby (1.9.3). AFAIK heroku-toolbelt isn't even used anymore, that's been superseded by a new Heroku client. Ruby 1.9.3 is no longer supported so shouldn't be used.

Perhaps your version of the toolbelt and your version of Ruby are incompatible with each other, perhaps they're incompatible with Heroku's current API. In any case, upgrading to new versions of both would be a good starting point.

Upvotes: 4

Related Questions