class AddCounterCacheToProtocols < ActiveRecord::Migration[4.2]
  def up
    add_column :protocols, :nr_of_synced_children, :integer, default: 0

    # Okay, now initialize the values of synced children
    Protocol.find_each do |protocol|
      children_count = select_value("SELECT COUNT(*) FROM protocols WHERE parent_id=#{protocol.id};")
      protocol.update(nr_of_synced_children: children_count)
    end
  end

  def down
    remove_column :protocols, :nr_of_synced_children
  end
end