views:

174

answers:

2

Hi I'm trying to deploy my rails application from jRuby to Heroku

The db is giving me problems:

$ heroku db:push
Auto-detected local database: jdbcmysql://root:password@localhost/product_develo
pment?encoding=utf8
Failed to connect to database:
  Sequel::AdapterNotFound -> Could not load jdbcmysql adapter:
  no such file to load -- /usr/lib/ruby/gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/jdbcmysql

any help please??

+2  A: 

Heroku does not support JRuby, unfortunately. You may want to look into Engine Yard Cloud, which will soon have production JRuby support.

Charles Oliver Nutter
Given that Engine Yard sponsors JRuby and employs the primary JRuby contributors, one would indeed expect Engine Yard to support JRuby!
Justice
Considering Charles is one of the lead developers of JRuby and employed by Engine Yard, I think he knows what's going on. :-)
Rufo Sanchez
Thank you so much! I thought it supported JRuby. Silly me.
Lily
+1  A: 

This has nothing to do with what Heroku supports (in the cloud), since the argument to db:push is the local database, not the one in the cloud.

Try running this instead:

heroku db:push jdbc:mysql://root:password@localhost/product_development?encoding=utf8

Also, consider updating Sequel to the latest version.

I'm still not sure if that will work, it depends on if the heroku command line client is using JRuby or not. Another possible problem is that ActiveRecord may require jdbcmysql and Sequel requires jdbc:mysql, and taps uses both (currently, hopefully it'll be Sequel-only in the future).

Jeremy Evans