2011-01-13 11 views
2

Ich versuche Rake-Aufgabe zu erstellen, um Daten aus meiner alten php-Anwendung zu importieren.Aber ich kann nicht richtig mit mysql-Datenbank verbinden, wenn ich Old :: User.all auf Schienen ausführen Konsole, bekomme ich diesen Fehler:NoMethodError: undefinierte Methode `more_results 'für # <Mysql>

NoMethodError: undefined method `more_results' for #<Mysql> 

     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:623:in `select' 
     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `select_all' 
     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/query_cache.rb:56:in `select_all' 
     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/base.rb:467:in `find_by_sql' 
     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation.rb:64:in `to_a' 
     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation/finder_methods.rb:143:in `all' 
     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/base.rb:439:in `__send__' 
     from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/base.rb:439:in `all' 
     from (irb):1 

Modellklasse Alt-/user.rb

class Old::User < ActiveRecord::Base 
    establish_connection "old_database" 

    # Because table name is lowercase 
    def self.table_name() 
    "user" 
    end 
end 

database.yml

old_database: 
    adapter: mysql 
    database: old_database 
    username: root 
    password: 
    socket: /Applications/MAMP/tmp/mysql/mysql.sock 
+0

können Sie den vollständigen Stack-Trace verwenden posten? Führen Sie mit -w Flag – sethvargo

+0

gerade hinzugefügt den Stack-Trace. –

+0

Ich habe das gleiche Problem, aber mit einer neuen Anwendung scheint etwas Schlimmes passiert beim Versuch, Schienen 3 mit Rvm zu installieren, wenn ich zurück zu Ruby 1,8 und lief meine Schienen 2 App Rake db: migrieren ist das zurückwerfen undefined Methode 'more_results 'für # ' –

Antwort

0

Das letzte MySQL-Juwel (=> 0.3.2) benötigt ein zusätzliches Juwel, um eine Verbindung herzustellen - es wurde wie das MSSQL-Server-Juwel in früheren Versionen von Rails aufgebaut.

Sie wollen wahrscheinlich auch die mysql2 (beachten Sie die "2") gem

Verwandte Themen