I found a bug in ActiveRecord. Being a good netizen, I thought I
would write a test to illustrate the bug, fix it, and then submit a
patch to the maintainers.
However, I can’t run the AR tests. I followed the instructions in
RUNNING_UNIT_TESTS but it generates an error immediately
ruby -I “connections/native_mysql” active_schema_mysql.rb
./…/lib/active_record/base.rb:246: undefined method
cattr_accessor' for ActiveRecord::Base:Class (NoMethodError) from /opt/local/lib/ruby/site_ruby/1.8/rubygems/ custom_require.rb:21:inrequire’
It can’t seem to find the definition for #cattr_accessor which is
defined in the activesupport gem.
This is Rails 1.1.2 comprised of AR 1.14.2, ActiveSupport 1.3.1, etc.
running on OSX 10.4.6 & Ruby 1.8.4 from darwinports.
Any ideas how to get this working?
BTW, the bug in AR is in the #add_column/#drop_column methods.
Currently it isn’t handling reserved words correctly if one is used
as a column name.
drop_column :some_table, :condition
MySQL allows the use of reserved words as column names provided they
are quoted using the backtick. This is actually handled properly
elsewhere in AR via the #quote_column_name method (in
mysql_adapter.rb), but this method isn’t used in #add_column or