Migration problem in Rails.3.1rc6 and JRuby

Hi,

I'm using JRuby 1.6.3 and I've installed Rals 3.1rc6 (which required
Arel 2.2.1) and created a new app with a simple migration file.
When I run rake db:migrate it creates my table and then throws the
following error:

rake aborted!
An error has occurred, this and all later migrations canceled:

(TypeError) can't convert Arel::InsertManager into String
arjdbc/jdbc/RubyJdbcConnection.java:317:in `execute_update'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/activerecord-jdbc-
adapter-1.1.3/lib/arjdbc/sqlite3/adapter.rb:149:in `insert_sql'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/activerecord-jdbc-
adapter-1.1.3/lib/arjdbc/jdbc/adapter.rb:195:in `jdbc_insert'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:727:in
`record_version_state_after
_migrating'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:688:in `migrate'
org/jruby/RubyProc.java:268:in `call'
org/jruby/RubyProc.java:228:in `call'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:742:in
`ddl_transaction'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/connection_adapters/abstract/
database_statement
s.rb:192:in `transaction'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/transactions.rb:208:in
`transaction'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:742:in
`ddl_transaction'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:686:in `migrate'
org/jruby/RubyArray.java:1603:in `each'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:671:in `migrate'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:549:in `up'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/migration.rb:530:in `migrate'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/
activerecord-3.1.0.rc6/lib/active_record/railties/databases.rake:
161:in `(root)'
org/jruby/RubyProc.java:268:in `call'
org/jruby/RubyProc.java:228:in `call'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/task.rb:205:in `execute'
org/jruby/RubyArray.java:1603:in `each'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/task.rb:200:in `execute'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/task.rb:158:in `invoke_with_call_chain'
C:/Program Files/jruby-1.6.3/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/task.rb:151:in `invoke_with_call_chain'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/task.rb:144:in `invoke'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:112:in `invoke_task'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:90:in `top_level'
org/jruby/RubyArray.java:1603:in `each'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:90:in `top_level'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:129:in `standard_exception_handling'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:84:in `top_level'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:62:in `run'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:129:in `standard_exception_handling'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/
rake/application.rb:59:in `run'
C:/Program Files/jruby-1.6.3/lib/ruby/gems/1.8/gems/rake-0.9.2/bin/
rake:32:in `(root)'
org/jruby/RubyKernel.java:1063:in `load'
C:/Program Files/jruby-1.6.3/bin/rake:19:in `(root)'
Tasks: TOP => db:migrate

I'm using sqlite3 but the same problem ocurrs if I use mysql.

Then I switched back to Rails 3.1.rc5 with Arel 2.1.4 and it works.

So it seems there is a bug in either Rails 3.1.rc6 or Arel 2.2.1.

Guilherme

After searching further I found out that the activerecord-jdbc-adapter
v 1.1.3 is still not compatible with Rails 3.1, so I must wait for a
new activerecord-jdbc-adapter version.

Guilherme