Removing columns from tables while running application with ActiveRecord
causes errors, because ActiveRecord caches column names.

Workaround for ActiveRecord up to 3.0.9 was to override #columns method in
the model and filter out deprecated column names before migration
(basically - hide these columns from AR). This worked because all column
name related methods were based on #columns call

In ActiveRecord starting with 3.1.0 caching of table structures is moved to
ConnectionPool, and all column name related values (e.g. coluumns_hash) are
cached independently.

Is there any way (other than deep-hack of concrete adapters) to achieve
safe column drop in ActiveRecord > 3.0 ?

You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to
To unsubscribe from this group, send email to
To view this discussion on the web visit
For more options, visit

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 1 | next ›
Discussion Overview
grouprubyonrails-talk @
postedSep 23, '12 at 2:46p
activeSep 23, '12 at 2:46p

1 user in discussion

UncleGene: 1 post



site design / logo © 2021 Grokbase