Ошибка Readonly при запуске миграции Rails 3 с помощью update_attribute

Я пытаюсь добавить counter_cache, и эта миграция Rails 3 дает мне ошибку, которую я просто не могу решить.

Миграция

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 грабли прерваны! Произошла ошибка, эта и все последующие миграции отменены:

items_count помечен как readonly C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.0/lib/active_record/persistence.rb: 115: в `update_attribute '

Любые идеи?

+11
источник поделиться

Посмотрите другие вопросы по метке или Задайте вопрос