]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/020_populate_node_tags_and_remove.rb
Combine migrations into one
[rails.git] / db / migrate / 020_populate_node_tags_and_remove.rb
index 8315cb14375fe2bb4539019607d80f8c10939fe4..2a81a2b9a2c863b4899a6cf28aa9504f7f9f6faf 100644 (file)
@@ -1,8 +1,8 @@
-require 'migrate'
+require "migrate"
 
-class PopulateNodeTagsAndRemove < ActiveRecord::Migration
+class PopulateNodeTagsAndRemove < ActiveRecord::Migration[5.0]
   def self.up
-    have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i != 0
+    have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i.nonzero?
 
     if have_nodes
       prefix = File.join Dir.tmpdir, "020_populate_node_tags_and_remove.#{$PROCESS_ID}."
@@ -10,15 +10,15 @@ class PopulateNodeTagsAndRemove < ActiveRecord::Migration
       cmd = "db/migrate/020_populate_node_tags_and_remove_helper"
       src = "#{cmd}.c"
       if !File.exist?(cmd) || File.mtime(cmd) < File.mtime(src)
-        system('cc -O3 -Wall `mysql_config --cflags --libs` ' +
-          "#{src} -o #{cmd}") || fail
+        system("cc -O3 -Wall `mysql_config --cflags --libs` " \
+          "#{src} -o #{cmd}") || raise
       end
 
       conn_opts = ActiveRecord::Base.connection.instance_eval { @connection_options }
       args = conn_opts.map(&:to_s) + [prefix]
-      fail "#{cmd} failed" unless system cmd, *args
+      raise "#{cmd} failed" unless system cmd, *args
 
-      tempfiles = %w(nodes node_tags current_nodes current_node_tags)
+      tempfiles = %w[nodes node_tags current_nodes current_node_tags]
                   .map { |base| prefix + base }
       nodes, node_tags, current_nodes, current_node_tags = tempfiles
     end
@@ -31,8 +31,8 @@ class PopulateNodeTagsAndRemove < ActiveRecord::Migration
 
     create_table :current_node_tags, :id => false do |t|
       t.column :id,          :bigint, :null => false
-      t.column :k,          :string, :default => "", :null => false
-      t.column :v,          :string, :default => "", :null => false
+      t.column :k,           :string, :default => "", :null => false
+      t.column :v,           :string, :default => "", :null => false
     end
 
     create_table :node_tags, :id => false do |t|
@@ -48,6 +48,7 @@ class PopulateNodeTagsAndRemove < ActiveRecord::Migration
     if have_nodes
       execute "LOAD DATA INFILE '#{nodes}' INTO TABLE nodes #{csvopts} (id, latitude, longitude, user_id, visible, timestamp, tile, version)"
       execute "LOAD DATA INFILE '#{node_tags}' INTO TABLE node_tags #{csvopts} (id, version, k, v)"
+      execute "LOAD DATA INFILE '#{current_nodes}' INTO TABLE current_nodes #{csvopts} (id, latitude, longitude, user_id, visible, timestamp, tile)"
       execute "LOAD DATA INFILE '#{current_node_tags}' INTO TABLE current_node_tags #{csvopts} (id, k, v)"
     end
 
@@ -55,7 +56,7 @@ class PopulateNodeTagsAndRemove < ActiveRecord::Migration
   end
 
   def self.down
-    fail ActiveRecord::IrreversibleMigration
+    raise ActiveRecord::IrreversibleMigration
     #    add_column :nodes, "tags", :text, :default => "", :null => false
     #    add_column :current_nodes, "tags", :text, :default => "", :null => false
   end