Migration Bug?

Please tell me I’m just confused, but this is very strange.

I have a migration like so:

class AddLevelToRequest < ActiveRecord::Migration
def self.up
add_column :requests, :title_levels, :string
end
def self.down
remove_column :requests, :title_levels
end
end

Run the migration, and from the console do:

r = Request.new
=> #<Request:0x31a243c @attributes={“title_levels”=>nil,
“department”=>nil, …

So far so good. My new attribute is there. Now do:

r = Request.new(:title_levels => “1,2,3”)
=> #<Request:0x30d3524 @attributes={“title_levels”=>nil,
“department”=>nil, …

What happened? Where did my attribute value go? If I do:

r = Request.new(:department => “1,2,3”)
=> #<Request:0x30c7698 @attributes={“title_levels”=>nil,
“department”=>“1,2,3”, …

The department attribute was created with the table.

I can do the following:

r.title_levels = “1,2,3”
=> “1,2,3”

r
=> #<Request:0x30c7698 @attributes={“title_levels”=>“1,2,3”, …

Is something broken with add_column? I tried several different forms,
but it seems that no matter what I do I can’t get new columns to work
with new. I also tried adding more columns, but all columns added with
add_column exhibited the same behavior.

I first noticed this when I tried to submit a form, but @request =
Request.new(params[:request]) was not picking up the title_levels
field.

I’m using Ruby 1.8.6, Rails 1.2.6, and MySql 5.0.41 on Max OS 10.4.

Whew! I was just confused. I forgot I had a attr_accessible setup
for the Request class. Once I added title_levels to that, everything
worked fine.

Now, it’s time to go bang my head against the wall…