Подтвердить что ты не робот

Проблема с соединением 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 принимает соединения и имеет данные и структуру, которые я ожидаю. Я дважды проверял мои подключения и т.д. Может ли кто-нибудь пролить свет?

4b9b3361

Ответ 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