X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/124ec2e9d560e0df291e5a8e5aa67ef5db2f5d46..d529e0be041d2a89cfdbd7ffa6dfa42977a1b204:/db/migrate/006_tile_nodes.rb diff --git a/db/migrate/006_tile_nodes.rb b/db/migrate/006_tile_nodes.rb index 29200d06a..7fdb34e57 100644 --- a/db/migrate/006_tile_nodes.rb +++ b/db/migrate/006_tile_nodes.rb @@ -1,35 +1,41 @@ -require "migrate" +class TileNodes < ActiveRecord::Migration[4.2] + class Node < ApplicationRecord + self.table_name = "current_nodes" + end + + class OldNode < ApplicationRecord + self.table_name = "nodes" + end -class TileNodes < ActiveRecord::Migration def self.upgrade_table(from_table, to_table, model) if ENV["USE_DB_FUNCTIONS"] - execute <<-END_SQL + execute <<-SQL.squish INSERT INTO #{to_table} (id, latitude, longitude, user_id, visible, tags, timestamp, tile) SELECT id, ROUND(latitude * 10000000), ROUND(longitude * 10000000), user_id, visible, tags, timestamp, tile_for_point(CAST(ROUND(latitude * 10000000) AS INTEGER), CAST(ROUND(longitude * 10000000) AS INTEGER)) FROM #{from_table} - END_SQL + SQL else - execute <<-END_SQL + execute <<-SQL.squish INSERT INTO #{to_table} (id, latitude, longitude, user_id, visible, tags, timestamp, tile) SELECT id, ROUND(latitude * 10000000), ROUND(longitude * 10000000), user_id, visible, tags, timestamp, 0 FROM #{from_table} - END_SQL + SQL model.all.each(&:save!) end end def self.downgrade_table(from_table, to_table) - execute <<-END_SQL + execute <<-SQL.squish INSERT INTO #{to_table} (id, latitude, longitude, user_id, visible, tags, timestamp) SELECT id, latitude / 10000000, longitude / 10000000, user_id, visible, tags, timestamp FROM #{from_table} - END_SQL + SQL end def self.up