]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/008_remove_segments.rb
Move contextmenu callbacks to separate file
[rails.git] / db / migrate / 008_remove_segments.rb
index 8c049b62a7a9bd1f19bc9930f3a4fc5854e9ebfb..241a144b0f13c4b3f5da798192be50f87f625663 100644 (file)
@@ -1,49 +1,49 @@
-require 'lib/migrate'
+require "migrate"
 
 class RemoveSegments < ActiveRecord::Migration
   def self.up
     have_segs = select_value("SELECT count(*) FROM current_segments").to_i != 0
 
     if have_segs
 
 class RemoveSegments < ActiveRecord::Migration
   def self.up
     have_segs = select_value("SELECT count(*) FROM current_segments").to_i != 0
 
     if have_segs
-      prefix = File.join Dir.tmpdir, "008_remove_segments.#{$$}."
+      prefix = File.join Dir.tmpdir, "008_remove_segments.#{$PROCESS_ID}."
 
       cmd = "db/migrate/008_remove_segments_helper"
       src = "#{cmd}.cc"
 
       cmd = "db/migrate/008_remove_segments_helper"
       src = "#{cmd}.cc"
-      if not File.exists? cmd or File.mtime(cmd) < File.mtime(src) then 
-       system 'c++ -O3 -Wall `mysql_config --cflags --libs` ' +
-         "#{src} -o #{cmd}" or fail
+      if !File.exist?(cmd) || File.mtime(cmd) < File.mtime(src)
+        system("c++ -O3 -Wall `mysql_config --cflags --libs` " +
+          "#{src} -o #{cmd}") || fail
       end
 
       end
 
-      conn_opts = ActiveRecord::Base.connection.
-       instance_eval { @connection_options }
-      args = conn_opts.map { |arg| arg.to_s } + [prefix]
+      conn_opts = ActiveRecord::Base.connection
+                  .instance_eval { @connection_options }
+      args = conn_opts.map(&:to_s) + [prefix]
       fail "#{cmd} failed" unless system cmd, *args
 
       fail "#{cmd} failed" unless system cmd, *args
 
-      tempfiles = ['ways', 'way_nodes', 'way_tags',
-       'relations', 'relation_members', 'relation_tags'].
-       map { |base| prefix + base }
+      tempfiles = %w(ways way_nodes way_tags relations relation_members relation_tags)
+                  .map { |base| prefix + base }
       ways, way_nodes, way_tags,
       ways, way_nodes, way_tags,
-       relations, relation_members, relation_tags = tempfiles
+  relations, relation_members, relation_tags = tempfiles
     end
 
     drop_table :segments
     drop_table :way_segments
     end
 
     drop_table :segments
     drop_table :way_segments
-    create_table :way_nodes, myisam_table do |t|
-      t.column :id,          :bigint, :limit => 64, :null => false
-      t.column :node_id,     :bigint, :limit => 64, :null => false
-      t.column :version,     :bigint, :limit => 20, :null => false
-      t.column :sequence_id, :bigint, :limit => 11, :null => false
+    create_table :way_nodes, :id => false do |t|
+      t.column :id,          :bigint, :null => false
+      t.column :node_id,     :bigint, :null => false
+      t.column :version,     :bigint, :null => false
+      t.column :sequence_id, :bigint, :null => false
     end
     add_primary_key :way_nodes, [:id, :version, :sequence_id]
 
     drop_table :current_segments
     drop_table :current_way_segments
     end
     add_primary_key :way_nodes, [:id, :version, :sequence_id]
 
     drop_table :current_segments
     drop_table :current_way_segments
-    create_table :current_way_nodes, innodb_table do |t|
-      t.column :id,          :bigint, :limit => 64, :null => false
-      t.column :node_id,     :bigint, :limit => 64, :null => false
-      t.column :sequence_id, :bigint, :limit => 11, :null => false
+    create_table :current_way_nodes, :id => false do |t|
+      t.column :id,          :bigint, :null => false
+      t.column :node_id,     :bigint, :null => false
+      t.column :sequence_id, :bigint, :null => false
     end
     add_primary_key :current_way_nodes, [:id, :sequence_id]
     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"
 
     execute "TRUNCATE way_tags"
     execute "TRUNCATE ways"
@@ -65,9 +65,6 @@ class RemoveSegments < ActiveRecord::Migration
       execute "INSERT INTO current_way_tags SELECT id, k, v FROM way_tags"
     end
 
       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 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"
     if have_segs
       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"
@@ -84,6 +81,6 @@ class RemoveSegments < ActiveRecord::Migration
   end
 
   def self.down
   end
 
   def self.down
-    raise IrreversibleMigration.new
+    fail ActiveRecord::IrreversibleMigration
   end
 end
   end
 end