2012-03-26 3 views
0

Wir versuchen, eine bestehende MySQL-Datenbank in unserer jruby on Rails-Anwendung zu integrieren. Unser Kunde hat uns ein blankes Knochenschienen-Skelett zur Verfügung gestellt, das nicht für eine einzelne Datenbank konfiguriert wurde. Wir wurden später mit einer SQL-Datenbank versorgt und wurden gebeten, sie in unserer Anwendung mit mysql zu integrieren. Wir begannen mit der Erstellung einer Datenbank.yml-Datei mit den notwendigen Informationen. Wir haben dann den Rake db: create Befehl ausgeführt, der unten folgende Fehlermeldung zur Folge hatte. Irgendwelche Vorschläge, was wir falsch machen? Wir sind hilflos. Danke im Voraus.JRuby auf Rails Rake db: Aufgaben alle abbrechen mit JDBC Mysql

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

Antwort

0

Was ich bisher sagen kann, über diese Zeit laufen haben noch etwas anderes zur Fehlerbehebung und passiert den entsprechenden Quellcode bis haben, ist, dass diese Rake Aufgabe wird sterben, weil es für die über die Aktionen zu wiederholen versucht, aktuelle Aufgabe, aber die Menge der Aktionen ist null.

Es ist schwierig, genau zu verstehen, was in dem knappen und unkommentierten Code darin falsch gemacht wurde. Etwas lässt dieses unglaublich zerbrechliche System zusammenbrechen. Ich habe eine seltsame wilde Vermutung. Was passiert, wenn Sie "adapter: jdbcmysql" als ersten Teil jeder Datenbankzeilengruppe in YML anstelle von "database: webgrouper_production" einfügen?