title: Model.reset_column_information does not reload columns in rails migration
body: <p>I'm using Rails 3.2 and have a migration that contains the code:</p>
  
  <pre><code>add_column :users, :gift_aid, :integer, :default =&gt; 2
  # reset columns
  User.reset_column_information
  
  ... code here to load legacy data from sqlite3 database ...
  
  # now create a user with the loaded column data
  user = User.create( ...other cols..., 
                      :gift_aid =&gt; migrated_gift_aid_column_data,
                      ...other cols... )
  </code></pre>
  
  <p>and I get <code>unknown attribute: gift_aid</code> when running the migration. <code>User.column_names</code> shows the same list before and after the call to <code>reset_column_information</code>. </p>
  
  <p>Oddly when I manually drop the column in mysql and re-run the migration it works as expected. Starting from the first migration again with an empty database and it doesn't work so it's something to do with running all the migrations rather than the single one.</p>
  
  <p>I have a couple of previous migrations on User model, both include <code>reset_column_information</code> and both work fine. </p>
  
  <p>I'm really scratching my head on this one - anyone got any ideas</p>