]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/008_remove_segments.rb
Merge remote-tracking branch 'upstream/pull/5389'
[rails.git] / db / migrate / 008_remove_segments.rb
index a72859ae8ffe99fd9453dc7ab10ed8241511cf8e..504528e4ce7ad9c933a4885700928f8fa5fef6ae 100644 (file)
@@ -1,29 +1,26 @@
-require 'migrate'
-
-class RemoveSegments < ActiveRecord::Migration
+class RemoveSegments < ActiveRecord::Migration[4.2]
   def self.up
-    have_segs = select_value("SELECT count(*) FROM current_segments").to_i != 0
+    have_segs = select_value("SELECT count(*) FROM current_segments").to_i.nonzero?
 
     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"
-      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}") || raise
       end
 
-      conn_opts = ActiveRecord::Base.connection.
-       instance_eval { @connection_options }
-      args = conn_opts.map { |arg| arg.to_s } + [prefix]
-      fail "#{cmd} failed" unless system cmd, *args
+      conn_opts = ApplicationRecord.connection
+                                   .instance_eval { @connection_options }
+      args = conn_opts.map(&:to_s) + [prefix]
+      raise "#{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,
-       relations, relation_members, relation_tags = tempfiles
+  relations, relation_members, relation_tags = tempfiles
     end
 
     drop_table :segments
@@ -54,7 +51,7 @@ class RemoveSegments < ActiveRecord::Migration
     # now get the data back
     csvopts = "FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\\n'"
 
-    tempfiles.each { |fn| File.chmod 0644, fn } if have_segs
+    tempfiles.each { |fn| File.chmod 0o644, fn } if have_segs
 
     if have_segs
       execute "LOAD DATA INFILE '#{ways}' INTO TABLE ways #{csvopts} (id, user_id, timestamp) SET visible = 1, version = 1"