This code runs:
def self.up add_column :film_languages, :short_code, :string
fl = FilmLanguage.find_by_language("spanish") fl.short_code = "es" fl.save
fl = FilmLanguage.find_by_language("english") fl.short_code = "en" fl.save end
but doesn't update short_code: e[4;35;1mSQL (0.000191)e[0m e[0mSELECT version FROM schema_migrationse[0m e[4;36;1mSQL (0.006109)e[0m e[0;1mALTER TABLE `film_languages` ADD `short_code` varchar(255)e[0m e[4;35;1mFilmLanguage Load (0.000338)e[0m e[0mSELECT * FROM `film_languages` WHERE (`film_languages`.`language` = 'spanish') LIMIT 1e[0m e[4;36;1mSQL (0.000054)e[0m e[0;1mBEGINe[0m e[4;35;1mSQL (0.000284)e[0m e[0mSELECT `language` FROM `film_languages` WHERE (`film_languages`.language = 'spanish' AND `film_languages`.id <> 2) e[0m e[4;36;1mFilmLanguage Update (0.000139)e[0m e[0;1mUPDATE `film_languages` SET `updated_at` = '2008-08-04 09:21:34', `created_at` = '2008-08-04 09:21:34', `language` = 'spanish' WHERE `id` = 2e[0m e[4;35;1mSQL (0.000081)e[0m e[0mCOMMITe[0m
But if I go into console it works fine. Does the migration not know about the column or something at the time this is run (before commit perhaps?)