Symptoms
- rake wouldn’t work
- script/server wouldn’t run
# Logfile created on Wed Nov 21 13:39:25 +0000 2007 by / DEPRECATION WARNING: observer is deprecated and will be removed from Rails 2.0 See http://www.rubyonrails.org/deprecation for details. (called from ./script/../config/../app/controllers/account_controller.rb:3) DEPRECATION WARNING: depend_on is deprecated and will be removed from Rails 2.0 See http://www.rubyonrails.org/deprecation for details. (called from observer_without_deprecation at ./script/../config/../vendor/rails/actionpack/lib/action_controller/deprecated_dependencies.rb:29) wrong number of arguments (1 for 0) ./script/../config/../vendor/rails/activerecord/lib/active_record/vendor/mysql.rb:566:in `initialize' ./script/../config/../vendor/rails/activerecord/lib/active_record/vendor/mysql.rb:566:in `new' ./script/../config/../vendor/rails/activerecord/lib/active_record/vendor/mysql.rb:566:in `scramble41' ./script/../config/../vendor/rails/activerecord/lib/active_record/vendor/mysql.rb:144:in `real_connect' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:389:in `connect' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:152:in `initialize' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:82:in `new' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:82:in `mysql_connection' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/abstact/connection_specification.rb:262:in `send' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/abstrct/connection_specification.rb:262:in `connection_without_query_cache=' ./script/../config/../vendor/rails/activerecord/lib/active_record/query_cache.rb:54:in `connection=' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/abstrat/connection_specification.rb:230:in `retrieve_connection' ./script/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/abstrac/connection_specification.rb:78:in `connection' ./script/../config/../vendor/rails/activerecord/lib/active_record/base.rb:760:in `columns' ./script/../config/../vendor/rails/activerecord/lib/active_record/base.rb:768:in `columns_hash' ./script/../config/../vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb:105:in `setup_sessid_compatibility!' ./script/../config/../vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb:79:in `find_by_session_id' ./script/../config/../vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb:283:in `initialize' ./script/../config/../vendor/rails/activerecord/lib/active_record/base.rb:864:in `silence' ./script/../config/../vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb:283:in `initialize' c:/ruby/lib/ruby/1.8/cgi/session.rb:273:in `new' c:/ruby/lib/ruby/1.8/cgi/session.rb:273:in `initialize' ./script/../config/../vendor/rails/actionpack/lib/action_controller/cgi_process.rb:122:in `new' ./script/../config/../vendor/rails/actionpack/lib/action_controller/cgi_process.rb:122:in `session' ./script/../config/../vendor/rails/actionpack/lib/action_controller/cgi_process.rb:154:in `stale_session_check!' ./script/../config/../vendor/rails/actionpack/lib/action_controller/cgi_process.rb:109:in `session' ./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:1052:in `assign_shortcuts_without_flash' ./script/../config/../vendor/rails/actionpack/lib/action_controller/flash.rb:140:in `assign_shortcuts' ./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:424:in `process_without_filters' ./script/../config/../vendor/rails/actionpack/lib/action_controller/filters.rb:624:in `process_without_session_management_support' ./script/../config/../vendor/rails/actionpack/lib/action_controller/session_management.rb:114:in `process' ./script/../config/../vendor/rails/actionpack/lib/action_controller/base.rb:330:in `process' ./script/../config/../vendor/rails/railties/lib/dispatcher.rb:41:in `dispatch' ./script/../config/../vendor/rails/railties/lib/webrick_server.rb:113:in `handle_dispatch' ./script/../config/../vendor/rails/railties/lib/webrick_server.rb:79:in `service' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start' ./script/../config/../vendor/rails/railties/lib/webrick_server.rb:63:in `dispatch' ./script/../config/../vendor/rails/railties/lib/commands/servers/webrick.rb:59 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' ./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:496:in `require' ./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:343:in `new_constants_in' ./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:496:in `require' ./script/../config/../vendor/rails/railties/lib/commands/server.rb:39 script/server:3:in `require' script/server:3
Solution
Very simple – the machine that was running this app hadn’t got the mysql gem installed, therefore, simply running:
gem install mysql
sorted the problem out.
One Comment
At least that’s a more obvious problem than a missing MySQL gem used to be in previous versions! I found that mongrel would randomly crash every few days on my 1.2.x application with a cryptic error message that gave no hints that MySQL was the issue.
I found it strange that the app would work at all without the mysql gem installed, but you live and learn!