Проблема с соединением Ruby on rails
У меня есть проект Ruby on Rails, который я разрабатывал на размещенном сервере, но решил работать с моей локальной машиной Windows с помощью.
Чтобы начать работу, я решил, что смогу просто взять свои модели из старого проекта и поместить их в новый проект, а затем запросить их в консоли. Это не удается.
Изменить, чтобы отразить более точную проблему:
Соединение, которое рельсы строят для запроса моих моделей, может запускать только один запрос, а затем дает исключение "Не подключено" для всех последующих запросов. Кто-нибудь знает, что происходит? Я проверил свою конфигурацию, много. Если на сервере 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 принимает соединения и имеет данные и структуру, которые я ожидаю. Я дважды проверял мои подключения и т.д. Может ли кто-нибудь пролить свет?
Ответы
Ответ 1
Я нашел решение этой проблемы на форуме 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)
Ответ 2
Убедитесь, что у вас есть последний камень mysql (для rails > 2.1.2)
Проверьте файл config/database.yml(адаптер, пароли). Убедитесь, что он настроен правильно для всех сред (dev, prod test)
Убедитесь, что ваш mysql запущен
Ответ 3
загрузить более старую клиентскую библиотеку MySQL