X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c3e2e6462f293596aef5d5de18b0a173edc046c7..0b97b6bc343d8428367e5fa91ef41e95386880f7:/db/migrate/008_remove_segments.rb diff --git a/db/migrate/008_remove_segments.rb b/db/migrate/008_remove_segments.rb index 0c68ce050..504528e4c 100644 --- a/db/migrate/008_remove_segments.rb +++ b/db/migrate/008_remove_segments.rb @@ -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"