updating model in migration not working

Hi there

I have a model that needs to get an extra field. So, I created a migration to add the field

add_column :my_models, :my_field, :string

This works fine as per usual. However, I want to populate the field with a value so I do this

MyModel.find(:all).each do |m|
m.my_field = “value”
puts m.my_field
puts m.save
puts m.my_field

lower in the self.up part of the migration.

When I run the migration I get this output:


I have confirmed that the field is populated in a before_filter by outputting the field value before it is saved. I have also confirmed that the ‘my_field’ field value is “value” in def after_save but, if I find an instance of MyModel from the db, I get my_field = nil.

Any ideas?