X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0f91ad89663fbadca007b1c4dce03f9a76ad0e5f..e5ff2959bc756a97d10b130d1ad6d0376eb57d83:/db/migrate/008_remove_segments.rb?ds=sidebyside diff --git a/db/migrate/008_remove_segments.rb b/db/migrate/008_remove_segments.rb index cfa99adad..16968edad 100644 --- a/db/migrate/008_remove_segments.rb +++ b/db/migrate/008_remove_segments.rb @@ -44,6 +44,7 @@ class RemoveSegments < ActiveRecord::Migration t.column :sequence_id, :bigint, :limit => 11, :null => false end add_primary_key :current_way_nodes, [:id, :sequence_id] + add_index :current_way_nodes, [:node_id], :name => "current_way_nodes_node_idx" execute "TRUNCATE way_tags" execute "TRUNCATE ways" @@ -56,22 +57,19 @@ class RemoveSegments < ActiveRecord::Migration tempfiles.each { |fn| File.chmod 0644, fn } if have_segs if have_segs - execute "LOAD DATA LOCAL INFILE '#{ways}' INTO TABLE ways #{csvopts} (id, user_id, timestamp) SET visible = 1, version = 1" - execute "LOAD DATA LOCAL INFILE '#{way_nodes}' INTO TABLE way_nodes #{csvopts} (id, node_id, sequence_id) SET version = 1" - execute "LOAD DATA LOCAL INFILE '#{way_tags}' INTO TABLE way_tags #{csvopts} (id, k, v) SET version = 1" + execute "LOAD DATA INFILE '#{ways}' INTO TABLE ways #{csvopts} (id, user_id, timestamp) SET visible = 1, version = 1" + execute "LOAD DATA INFILE '#{way_nodes}' INTO TABLE way_nodes #{csvopts} (id, node_id, sequence_id) SET version = 1" + execute "LOAD DATA INFILE '#{way_tags}' INTO TABLE way_tags #{csvopts} (id, k, v) SET version = 1" execute "INSERT INTO current_ways SELECT id, user_id, timestamp, visible FROM ways" execute "INSERT INTO current_way_nodes SELECT id, node_id, sequence_id FROM way_nodes" execute "INSERT INTO current_way_tags SELECT id, k, v FROM way_tags" end - # and then readd the index - add_index :current_way_nodes, [:node_id], :name => "current_way_nodes_node_idx" - if have_segs - execute "LOAD DATA LOCAL INFILE '#{relations}' INTO TABLE relations #{csvopts} (id, user_id, timestamp) SET visible = 1, version = 1" - execute "LOAD DATA LOCAL INFILE '#{relation_members}' INTO TABLE relation_members #{csvopts} (id, member_type, member_id, member_role) SET version = 1" - execute "LOAD DATA LOCAL INFILE '#{relation_tags}' INTO TABLE relation_tags #{csvopts} (id, k, v) SET version = 1" + execute "LOAD DATA INFILE '#{relations}' INTO TABLE relations #{csvopts} (id, user_id, timestamp) SET visible = 1, version = 1" + execute "LOAD DATA INFILE '#{relation_members}' INTO TABLE relation_members #{csvopts} (id, member_type, member_id, member_role) SET version = 1" + execute "LOAD DATA INFILE '#{relation_tags}' INTO TABLE relation_tags #{csvopts} (id, k, v) SET version = 1" # FIXME: This will only work if there were no relations before the # migration!