Я пытаюсь добавить counter_cache, и эта миграция Rails 3 дает мне ошибку, которую я просто не могу решить.Ошибка чтения при запуске миграции Rails 3 с update_attribute
Миграция
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
и ошибка:
== AddItemsCountToStore: мигрирующий ====================== =================== - add_column (: stores,: items_count,: integer, {: default => 0}) -> 0.0680s rake aborted! произошла ошибка, это и все последующие миграции отменены:
items_count помечен как только для чтения C: /Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.0/lib/active_record/ persistence.rb: 115: in `update_attribute '
Любые идеи?
Возможный дубликат [Проблема с реализацией счетчика \ _cache] (http://stackoverflow.com/questions/4295404/problem-with-counter-cache-implementation) – mbillard 2014-04-30 11:03:16