38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
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|
|
|
n = 1
|
|
node_array.each do |node|
|
|
temp_old_node = TempOldNode.new
|
|
temp_old_node.id = node.id
|
|
temp_old_node.latitude = node.latitude
|
|
temp_old_node.longitude = node.longitude
|
|
temp_old_node.user_id = node.user_id
|
|
temp_old_node.visible = node.visible
|
|
temp_old_node.timestamp = node.timestamp
|
|
temp_old_node.tile = node.tile
|
|
temp_old_node.version = n
|
|
temp_old_node.save! || raise
|
|
n += 1
|
|
end
|
|
end
|
|
offset += increment
|
|
end
|
|
end
|
|
end
|