簡體   English   中英

JRuby on Rails抽佣數據庫:任務全部通過jdbc mysql中止

[英]JRuby on Rails rake db: tasks all abort with jdbc mysql

我們正在嘗試將現有的mysql數據庫集成到我們的jruby on rails應用程序中。 我們的客戶為我們提供了一個未配置的裸露的骨干骨架。 后來為我們提供了一個sql數據庫,並被要求使用mysql在我們的應用程序中對其進行整數化。 我們首先創建一個包含必要信息的database.yml文件。 然后,我們執行了rake db:create命令,這將導致以下錯誤消息。 關於我們做錯了什么建議? 我們很無奈。 提前謝謝。

    $ rake db:create --trace
    rake aborted!
    undefined method `each' for nil:NilClass
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activerecord-jdbc-adapter-1.2.2/lib/arjdbc/jdbc/jdbc.rake:15:in `redefine_task'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activerecord-jdbc-adapter-1.2.2/lib/arjdbc/jdbc/jdbc.rake:23:in `(root)'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/task_manager.rb:207:in `in_namespace'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb:102:in `namespace'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activerecord-jdbc-adapter-1.2.2/lib/arjdbc/jdbc/jdbc.rake:22:in `(root)'
    org/jruby/RubyKernel.java:1052:in `load'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activerecord-jdbc-adapter-1.2.2/lib/arjdbc/jdbc/jdbc.rake:234:in `load'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:639:in `new_constants_in'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/default_loader.rb:6:in `load'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:569:in `load_imports'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:508:in `raw_load_rakefile'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `load_rakefile'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `run'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/gems/rake-0.9.2.2/bin/rake:33:in `(root)'
    org/jruby/RubyKernel.java:1052:in `load'
    /Users/rath_rio/.rvm/gems/jruby-1.6.6@webgrouper/bin/rake:19:in `(root)'

our system specification: 
Java SE 6
JRuby 1.6.6
Rails 3.1

we use following gems for our datebase:
gem 'mysql2', '~>0.3.0'
gem "jdbc-mysql", "~> 5.1.13"
gem "activerecord-jdbc-adapter", "~> 1.2.2"
gem "activerecord-jdbcmysql-adapter", "~> 1.2.2"

our database.yml file:
development:
    database: webgrouper_development
    adapter: jdbcmysql
    encoding: utf8
    reconnect: true
    pool: 5
    username: root
    password: 
    host: 127.0.0.1

test:
    database: webgrouper_test
    adapter: jdbcmysql
    encoding: utf8
    reconnect: false
    pool: 5
    username: root
    password: 
    host: 127.0.0.1

production:
    database: webgrouper_production
    adapter: jdbcmysql
    encoding: utf8
    reconnect: false
    pool: 5
    username: root
    password: 
    host: 127.0.0.1

到目前為止,在解決其他問題並碰巧找到相關源代碼的過程中,我能說的是,這個rake任務快要死了,因為它正嘗試遍歷當前任務的動作,但是動作為零。

很難准確地了解其中簡潔和未注釋的代碼中的錯誤。 某種原因使這個極其脆弱的系統崩潰了。 我有一個奇怪的猜測。 如果在YML中將“ adapter:jdbcmysql”作為每個數據庫節的第一部分而不是“ database:webgrouper_production”,會發生什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM