NoMethodError: неопределенный метод `more_results 'для # <Mysql> - PullRequest
2 голосов
/ 13 января 2011

Я пытаюсь создать задачу rake для импорта данных из моего старого приложения php. Но я не могу правильно подключиться к базе данных mysql, когда я запускаю Old :: User.all на консоли rails, я получаю эту ошибку:

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

Класс модели Old / 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

1 Ответ

0 голосов
/ 16 мая 2011

Последнему гему MySQL (=> 0.3.2) требуется дополнительный гем для подключения - он был спроектирован так же, как гем MSSQL-Server в предыдущих версиях Rails.

Вы также, вероятно, хотите использовать gem mysql2 (обратите внимание на "2")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...