X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/6f6e827702fb2e56c0f7cd6aaf43d98f9c7f5fb2..945ff7911ca51dc250ffaba71f62821b5c0c0a95:/lib/tasks/add_version_to_nodes.rake diff --git a/lib/tasks/add_version_to_nodes.rake b/lib/tasks/add_version_to_nodes.rake index 1ec831234..11f639abd 100644 --- a/lib/tasks/add_version_to_nodes.rake +++ b/lib/tasks/add_version_to_nodes.rake @@ -1,20 +1,19 @@ -namespace 'db' do - desc 'Populate the node_tags table' - task :node_version do - require File.dirname(__FILE__) + '/../../config/environment' - - lower_bound = 0 - increment = 100 - node_count = OldNode.count - puts node_count - - while lower_bound < node_count - upper_bound = lower_bound + increment - hash = {} - - OldNode.find(:all, :conditions => ['id >= ? AND id < ?',lower_bound, upper_bound], :order => 'timestamp').each do |node| - hash[node.id] = [] if hash[node.id].nil? - hash[node.id] << node +namespace "db" do + desc "Adds a version number to the nodes table" + task :node_version do + require File.dirname(__FILE__) + "/../../config/environment" + + increment = 1000 + offset = 0 + id_max = OldNode.find(:first, :order => "id desc").id + + while offset < (id_max + increment) + hash = {} + + # should be offsetting not selecting + OldNode.find(:all, :limit => increment, :offset => offset, :order => "timestamp").each do |node| + hash[node.id] ||= [] + hash[node.id] << node end hash.each_value do |node_array| @@ -28,18 +27,12 @@ namespace 'db' do temp_old_node.visible = node.visible temp_old_node.timestamp = node.timestamp temp_old_node.tile = node.tile - temp_old_node.version = node.version + temp_old_node.version = n temp_old_node.save! || raise - n +=1 + n += 1 end end - lower_bound += increment + offset += increment end end end - - - - - -