ruby-on-rails activerecord migration rake ruby-on-rails-3.2

ruby on rails - Model.reset_column_information no recarga las columnas en la migración de raíles



ruby-on-rails activerecord (1)

Creo que esto debe ser algún tipo de error relacionado con el almacenamiento en caché de esquemas ... esto podría funcionar:

User.connection.schema_cache.clear! User.reset_column_information

(para Rails 3.2.2)

Estoy usando Rails 3.2 y tengo una migración que contiene el código:

add_column :users, :gift_aid, :integer, :default => 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 => migrated_gift_aid_column_data, ...other cols... )

y obtengo unknown attribute: gift_aid al ejecutar la migración. User.column_names muestra la misma lista antes y después de la llamada a reset_column_information .

Curiosamente, cuando dejo caer la columna manualmente en mysql y vuelvo a ejecutar la migración, funciona como se esperaba. Comenzar desde la primera migración nuevamente con una base de datos vacía y no funciona, por lo que tiene que ver con ejecutar todas las migraciones en lugar de la única.

Tengo un par de migraciones anteriores en el modelo de usuario, ambas incluyen reset_column_information y ambas funcionan bien.

Realmente me estoy rascando la cabeza en esto, cualquiera tiene ideas