2011-01-13 60 views
2

我想創建rake任務,從我的舊的PHP導入數據application.But我無法連接到MySQL數據庫正常,當我在軌道上運行舊:: User.all控制檯,我得到這個錯誤:NoMethodError:未定義的方法`more_results'爲#<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 

Model類舊/ 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

你可以發佈完整的堆棧跟蹤嗎?使用-w標誌運行 – sethvargo 2011-01-13 03:33:01

回答

0

最新的MySQL gem(=> 0.3.2)需要額外的gem連接 - 它的架構就像MSSQL-Server gem在以前版本的Rails中一樣。

你也可能想使用mysql2(注意「2」)寶石