Проблема подключения Ruby on rails - PullRequest
28 голосов
/ 28 августа 2009

У меня есть проект Ruby on Rails, который я разрабатывал на хост-сервере, но решил работать на моей локальной машине с Windows.

Для начала я решил, что смогу просто взять свои модели из старого проекта и поместить их в новый проект, а затем запросить их в консоли. Это не удается.

Изменить, чтобы отразить более точную проблему: Соединение, которое rails создает для запроса моих моделей, может выполнить только один запрос, после чего выдается исключение «Не подключено» для всех последующих запросов. Кто-нибудь знает, что происходит? Я проверил свою конфигурацию, много. Если на сервере MySQL есть какие-то настройки, о которых я не знаю, я бы с удовольствием посмотрел на это.

Трассировка стека:

Price.find(1)
ActiveRecord::StatementInvalid: Mysql::Error: query: not connected: SHOW FIELDS FROM `prices`
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:212:in `log'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/mysql_adapter.rb:320:in `execute'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/mysql_adapter.rb:466:in `columns'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1271:in `columns'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1279:in `columns_hash'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1578:in `find_one'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1569:in `find_from_ids'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:616:in `find'
        from (irb):2

Я подтвердил, что моя база данных MySQL принимает соединения и имеет ожидаемые данные и структуру. Я дважды проверил свои соединения и т. Д. Кто-нибудь может пролить свет?

Ответы [ 3 ]

82 голосов
/ 29 августа 2009

Я нашел решение этой проблемы на форуме aptana .

Там говорится, что клиентская библиотека MySQL 5.1 не очень хорошо работает с Rails 2.2. Предлагаемое решение простое: загрузите старую клиентскую библиотеку MySQL ( libmySQL.dll ) и скопируйте ее в папку Ruby \ bin.

Это сработало для меня (Windows XP, Ruby 1.8.6, Rails 2.3.3, mysql 5.1.33)

3 голосов
/ 28 августа 2009

Убедитесь, что у вас последняя версия mysql (для рельсов> 2.1.2)

Проверьте файл config / database.yml (адаптер, пароли). Убедитесь, что он установлен правильно для всех сред (dev, prod test)

Убедитесь, что ваш MySQL работает

1 голос
/ 01 ноября 2010

скачать старую клиентскую библиотеку MySQL

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