MySQL error when running tests on Rails' ActiveRecord
During our Saturday Open Source Hackathon, I was working on trying to fix a bug in Rails' update_all() method. Following the Contributing to Rails guide, I got set up to run ActiveRecord's tests on all of the major databases used with Rails. When I ran the MySQL tests, I got the following error:
/Users/leon/code/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:207:in `rescue in log': Mysql::Error: Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted: DROP PROCEDURE IF EXISTS ten; (ActiveRecord::StatementInvalid)
The solution, as I found here, was to run "sudo mysql_upgrade -u root". After doing this, I was able to run all of the tests. I must have skipped a step when I switched from MySQL 5.0 to MySQL 5.1.