2010-11-29 10 views
11

Estoy intentando agregar un counter_cache y esta migración de Rails 3 me está dando un error que parece que no puedo resolver.Error de solo lectura al ejecutar una migración de Rails 3 con el atributo_actualización

La migración es

 
class AddItemsCountToStore < ActiveRecord::Migration 
    def self.up 
     add_column :stores, :items_count, :integer, :default => 0 

     Store.reset_column_information 

     Store.all.each do |store| 
      store.update_attribute :items_count, store.items.count 
     end 
    end 

    def self.down 
     remove_column :stores, :items_count 
    end 
end 

y el error es:

AddItemsCountToStore ==: Migración ====================== =================== - add_column (: stores,: items_count,: integer, {: default => 0}) -> 0.0680s ¡rake abortado! ha producido un error, este y todos los posteriores migraciones canceladas:

items_count está marcado como de sólo lectura C: /Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.0/lib/active_record/ persistence.rb: 115: in `update_attribute '

¿Alguna idea?

+0

posible duplicado de [Problema con la implementación del contador \ _cache] (http://stackoverflow.com/questions/4295404/problem-with-counter-cache-implementation) – mbillard

Respuesta

Cuestiones relacionadas