]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/002_cleanup_osm_db.rb
Convert the test_users_nearby to user factories.
[rails.git] / db / migrate / 002_cleanup_osm_db.rb
index b99055e5244f1483031513982ac7aa4ca1527ea6..866b1ae510d3b72848f1ed6b1bb761ed7dfe0fd4 100644 (file)
@@ -1,35 +1,34 @@
-require 'lib/migrate'
+require "migrate"
 
 class CleanupOsmDb < ActiveRecord::Migration
   def self.up
 
 class CleanupOsmDb < ActiveRecord::Migration
   def self.up
-    change_column "current_nodes", "latitude", :double, :null => false
-    change_column "current_nodes", "longitude", :double, :null => false
-    change_column "current_nodes", "user_id", :bigint, :limit => 20, :null => false
+    change_column "current_nodes", "latitude", :float, :limit => 53, :null => false
+    change_column "current_nodes", "longitude", :float, :limit => 53, :null => false
+    change_column "current_nodes", "user_id", :bigint, :null => false
     change_column "current_nodes", "visible", :boolean, :null => false
     change_column "current_nodes", "timestamp", :datetime, :null => false
     add_primary_key "current_nodes", ["id"]
     remove_index "current_nodes", :name => "current_nodes_id_idx"
 
     change_column "current_nodes", "visible", :boolean, :null => false
     change_column "current_nodes", "timestamp", :datetime, :null => false
     add_primary_key "current_nodes", ["id"]
     remove_index "current_nodes", :name => "current_nodes_id_idx"
 
-    change_column "current_segments", "node_a", :bigint, :limit => 64, :null => false
-    change_column "current_segments", "node_b", :bigint, :limit => 64, :null => false
-    change_column "current_segments", "user_id", :bigint, :limit => 20, :null => false
+    change_column "current_segments", "node_a", :bigint, :null => false
+    change_column "current_segments", "node_b", :bigint, :null => false
+    change_column "current_segments", "user_id", :bigint, :null => false
     change_column "current_segments", "visible", :boolean, :null => false
     change_column "current_segments", "timestamp", :datetime, :null => false
     add_primary_key "current_segments", ["id"]
     remove_index "current_segments", :name => "current_segments_id_visible_idx"
 
     change_column "current_segments", "visible", :boolean, :null => false
     change_column "current_segments", "timestamp", :datetime, :null => false
     add_primary_key "current_segments", ["id"]
     remove_index "current_segments", :name => "current_segments_id_visible_idx"
 
-    change_column "current_way_segments", "id", :bigint, :limit => 64, :null => false
-    change_column "current_way_segments", "segment_id", :bigint, :limit => 64, :null => false
-    change_column "current_way_segments", "sequence_id", :bigint, :limit => 11, :null => false
-    add_primary_key "current_way_segments", ["id", "sequence_id"]
+    change_column "current_way_segments", "id", :bigint, :null => false
+    change_column "current_way_segments", "segment_id", :bigint, :null => false
+    change_column "current_way_segments", "sequence_id", :bigint, :null => false
+    add_primary_key "current_way_segments", %w(id sequence_id)
     remove_index "current_way_segments", :name => "current_way_segments_id_idx"
 
     remove_index "current_way_segments", :name => "current_way_segments_id_idx"
 
-    change_column "current_way_tags", "id", :bigint, :limit => 64, :null => false
+    change_column "current_way_tags", "id", :bigint, :null => false
 
 
-    change_column "current_ways", "user_id", :bigint, :limit => 20, :null => false
+    change_column "current_ways", "user_id", :bigint, :null => false
     change_column "current_ways", "timestamp", :datetime, :null => false
     change_column "current_ways", "visible", :boolean, :null => false
     change_column "current_ways", "timestamp", :datetime, :null => false
     change_column "current_ways", "visible", :boolean, :null => false
-    execute "ALTER TABLE current_ways ENGINE = InnoDB"
 
     change_column "diary_entries", "title", :string, :null => false
     change_column "diary_entries", "body", :text, :null => false
 
     change_column "diary_entries", "title", :string, :null => false
     change_column "diary_entries", "body", :text, :null => false
@@ -39,15 +38,17 @@ class CleanupOsmDb < ActiveRecord::Migration
     add_index "friends", ["user_id"], :name => "friends_user_id_idx"
 
     remove_index "gps_points", :name => "points_uid_idx"
     add_index "friends", ["user_id"], :name => "friends_user_id_idx"
 
     remove_index "gps_points", :name => "points_uid_idx"
+    remove_index "gps_points", :name => "points_idx"
     remove_column "gps_points", "user_id"
     remove_column "gps_points", "user_id"
+    add_index "gps_points", %w(latitude longitude), :name => "points_idx"
     change_column "gps_points", "trackid", :integer, :null => false
     change_column "gps_points", "latitude", :integer, :null => false
     change_column "gps_points", "longitude", :integer, :null => false
     change_column "gps_points", "trackid", :integer, :null => false
     change_column "gps_points", "latitude", :integer, :null => false
     change_column "gps_points", "longitude", :integer, :null => false
-    change_column "gps_points", "gpx_id", :bigint, :limit => 64, :null => false
+    change_column "gps_points", "gpx_id", :bigint, :null => false
 
     change_column "gpx_file_tags", "tag", :string, :null => false
 
 
     change_column "gpx_file_tags", "tag", :string, :null => false
 
-    change_column "gpx_files", "user_id", :bigint,   :limit => 20, :null => false
+    change_column "gpx_files", "user_id", :bigint, :null => false
     change_column "gpx_files", "timestamp", :datetime, :null => false
     change_column "gpx_files", "description", :string, :default => "", :null => false
     change_column "gpx_files", "inserted", :boolean, :null => false
     change_column "gpx_files", "timestamp", :datetime, :null => false
     change_column "gpx_files", "description", :string, :default => "", :null => false
     change_column "gpx_files", "inserted", :boolean, :null => false
@@ -65,18 +66,18 @@ class CleanupOsmDb < ActiveRecord::Migration
 
     drop_table "meta_areas"
 
 
     drop_table "meta_areas"
 
-    change_column "nodes", "id", :bigint, :limit => 64, :null => false
-    change_column "nodes", "latitude", :double, :null => false
-    change_column "nodes", "longitude", :double, :null => false
-    change_column "nodes", "user_id", :bigint, :limit => 20, :null => false
+    change_column "nodes", "id", :bigint, :null => false
+    change_column "nodes", "latitude", :float, :limit => 53, :null => false
+    change_column "nodes", "longitude", :float, :limit => 53, :null => false
+    change_column "nodes", "user_id", :bigint, :null => false
     change_column "nodes", "visible", :boolean, :null => false
     change_column "nodes", "timestamp", :datetime, :null => false
     add_index "nodes", ["timestamp"], :name => "nodes_timestamp_idx"
 
     change_column "nodes", "visible", :boolean, :null => false
     change_column "nodes", "timestamp", :datetime, :null => false
     add_index "nodes", ["timestamp"], :name => "nodes_timestamp_idx"
 
-    change_column "segments", "id", :bigint, :limit => 64, :null => false
-    change_column "segments", "node_a", :bigint, :limit => 64, :null => false
-    change_column "segments", "node_b", :bigint, :limit => 64, :null => false
-    change_column "segments", "user_id", :bigint, :limit => 20, :null => false
+    change_column "segments", "id", :bigint, :null => false
+    change_column "segments", "node_a", :bigint, :null => false
+    change_column "segments", "node_b", :bigint, :null => false
+    change_column "segments", "user_id", :bigint, :null => false
     change_column "segments", "visible", :boolean, :null => false
     change_column "segments", "timestamp", :datetime, :null => false
     add_index "segments", ["timestamp"], :name => "segments_timestamp_idx"
     change_column "segments", "visible", :boolean, :null => false
     change_column "segments", "timestamp", :datetime, :null => false
     add_index "segments", ["timestamp"], :name => "segments_timestamp_idx"
@@ -87,20 +88,20 @@ class CleanupOsmDb < ActiveRecord::Migration
     change_column "users", "creation_time", :datetime, :null => false
     change_column "users", "display_name", :string, :default => "", :null => false
     change_column "users", "data_public", :boolean, :default => false, :null => false
     change_column "users", "creation_time", :datetime, :null => false
     change_column "users", "display_name", :string, :default => "", :null => false
     change_column "users", "data_public", :boolean, :default => false, :null => false
-    change_column "users", "home_lat", :double
-    change_column "users", "home_lon", :double
+    change_column "users", "home_lat", :float, :limit => 53, :default => nil
+    change_column "users", "home_lon", :float, :limit => 53, :default => nil
     remove_index "users", :name => "users_email_idx"
     add_index "users", ["email"], :name => "users_email_idx", :unique => true
     remove_index "users", :name => "users_display_name_idx"
     add_index "users", ["display_name"], :name => "users_display_name_idx", :unique => true
 
     remove_index "users", :name => "users_email_idx"
     add_index "users", ["email"], :name => "users_email_idx", :unique => true
     remove_index "users", :name => "users_display_name_idx"
     add_index "users", ["display_name"], :name => "users_display_name_idx", :unique => true
 
-    change_column "way_segments", "segment_id", :bigint, :limit => 64, :null => false
+    change_column "way_segments", "segment_id", :bigint, :null => false
+
     change_column "way_tags", "k", :string, :null => false
     change_column "way_tags", "v", :string, :null => false
     change_column "way_tags", "k", :string, :null => false
     change_column "way_tags", "v", :string, :null => false
-    change_column "way_tags", "version", :bigint, :limit => 20, :null => false
+    change_column "way_tags", "version", :bigint, :null => false
 
 
-    change_column "ways", "user_id", :bigint, :limit => 20, :null => false
+    change_column "ways", "user_id", :bigint, :null => false
     change_column "ways", "timestamp", :datetime, :null => false
     change_column "ways", "visible", :boolean, :default => true, :null => false
     remove_index "ways", :name => "ways_id_version_idx"
     change_column "ways", "timestamp", :datetime, :null => false
     change_column "ways", "visible", :boolean, :default => true, :null => false
     remove_index "ways", :name => "ways_id_version_idx"
@@ -112,20 +113,20 @@ class CleanupOsmDb < ActiveRecord::Migration
     add_index "ways", ["id"], :name => "ways_id_version_idx"
     change_column "ways", "visible", :boolean, :default => true
     change_column "ways", "timestamp", :datetime
     add_index "ways", ["id"], :name => "ways_id_version_idx"
     change_column "ways", "visible", :boolean, :default => true
     change_column "ways", "timestamp", :datetime
-    change_column "ways", "user_id", :bigint, :limit => 20
+    change_column "ways", "user_id", :bigint
 
 
-    change_column "way_tags", "version", :bigint, :limit => 20
+    change_column "way_tags", "version", :bigint
     change_column "way_tags", "v", :string, :default => nil
     change_column "way_tags", "k", :string, :default => nil
 
     change_column "way_segments", "segment_id", :integer
     change_column "way_tags", "v", :string, :default => nil
     change_column "way_tags", "k", :string, :default => nil
 
     change_column "way_segments", "segment_id", :integer
+
     remove_index "users", :name => "users_display_name_idx"
     add_index "users", ["display_name"], :name => "users_display_name_idx"
     remove_index "users", :name => "users_email_idx"
     add_index "users", ["email"], :name => "users_email_idx"
     remove_index "users", :name => "users_display_name_idx"
     add_index "users", ["display_name"], :name => "users_display_name_idx"
     remove_index "users", :name => "users_email_idx"
     add_index "users", ["email"], :name => "users_email_idx"
-    change_column "users", "home_lon", :double, :default => 1
-    change_column "users", "home_lat", :double, :default => 1
+    change_column "users", "home_lon", :float, :limit => 53, :default => 1
+    change_column "users", "home_lat", :float, :limit => 53, :default => 1
     change_column "users", "data_public", :boolean, :default => false
     change_column "users", "display_name", :string, :default => ""
     change_column "users", "creation_time", :datetime
     change_column "users", "data_public", :boolean, :default => false
     change_column "users", "display_name", :string, :default => ""
     change_column "users", "creation_time", :datetime
@@ -136,56 +137,52 @@ class CleanupOsmDb < ActiveRecord::Migration
     remove_index "segments", :name => "segments_timestamp_idx"
     change_column "segments", "timestamp", :datetime
     change_column "segments", "visible", :boolean
     remove_index "segments", :name => "segments_timestamp_idx"
     change_column "segments", "timestamp", :datetime
     change_column "segments", "visible", :boolean
-    change_column "segments", "user_id", :bigint, :limit => 20
-    change_column "segments", "node_b", :bigint, :limit => 64
-    change_column "segments", "node_a", :bigint, :limit => 64
-    change_column "segments", "id", :bigint, :limit => 64
+    change_column "segments", "user_id", :bigint
+    change_column "segments", "node_b", :bigint
+    change_column "segments", "node_a", :bigint
+    change_column "segments", "id", :bigint
 
     remove_index "nodes", :name => "nodes_timestamp_idx"
     change_column "nodes", "timestamp", :datetime
     change_column "nodes", "visible", :boolean
 
     remove_index "nodes", :name => "nodes_timestamp_idx"
     change_column "nodes", "timestamp", :datetime
     change_column "nodes", "visible", :boolean
-    change_column "nodes", "user_id", :bigint, :limit => 20
-    change_column "nodes", "longitude", :double
-    change_column "nodes", "latitude", :double
-    change_column "nodes", "id", :bigint, :limit => 64
-
-    create_table "meta_areas", myisam_table do |t|
-      t.column "id",        :bigint,  :limit => 64, :null => false
-      t.column "user_id",   :bigint,  :limit => 20
+    change_column "nodes", "user_id", :bigint
+    change_column "nodes", "longitude", :float, :limit => 53
+    change_column "nodes", "latitude", :float, :limit => 53
+    change_column "nodes", "id", :bigint
+
+    create_table "meta_areas", :id => false do |t|
+      t.column "id", :bigserial, :primary_key => true, :null => false
+      t.column "user_id", :bigint
       t.column "timestamp", :datetime
     end
 
       t.column "timestamp", :datetime
     end
 
-    add_primary_key "meta_areas", ["id"]
-
-    change_column "meta_areas", "id", :bigint, :limit => 64, :null => false, :options => "AUTO_INCREMENT"
-
     remove_index "messages", :name => "messages_to_user_id_idx"
     change_column "messages", "message_read", :boolean, :default => false
     change_column "messages", "sent_on", :datetime
     change_column "messages", "body", :text
     change_column "messages", "title", :string, :default => nil
     add_column "messages", "from_display_name", :string, :default => ""
     remove_index "messages", :name => "messages_to_user_id_idx"
     change_column "messages", "message_read", :boolean, :default => false
     change_column "messages", "sent_on", :datetime
     change_column "messages", "body", :text
     change_column "messages", "title", :string, :default => nil
     add_column "messages", "from_display_name", :string, :default => ""
-    add_column "messages", "user_id", :bigint, :limit => 20, :null => false
+    add_column "messages", "user_id", :bigint, :null => false
     add_index "messages", ["from_display_name"], :name => "from_name_idx"
 
     add_index "messages", ["from_display_name"], :name => "from_name_idx"
 
-    create_table "gpx_pending_files", myisam_table do |t|
+    create_table "gpx_pending_files", :id => false do |t|
       t.column "originalname", :string
       t.column "originalname", :string
-      t.column "tmpname",      :string
-      t.column "user_id",      :bigint,  :limit => 20
+      t.column "tmpname", :string
+      t.column "user_id", :bigint
     end
 
     change_column "gpx_files", "inserted", :boolean
     change_column "gpx_files", "description", :string, :default => ""
     change_column "gpx_files", "timestamp", :datetime
     end
 
     change_column "gpx_files", "inserted", :boolean
     change_column "gpx_files", "description", :string, :default => ""
     change_column "gpx_files", "timestamp", :datetime
-    change_column "gpx_files", "user_id", :bigint,   :limit => 20
+    change_column "gpx_files", "user_id", :bigint
 
     change_column "gpx_file_tags", "tag", :string, :default => nil
 
 
     change_column "gpx_file_tags", "tag", :string, :default => nil
 
-    change_column "gps_points", "gpx_id", :integer, :limit => 20
+    change_column "gps_points", "gpx_id", :integer
     change_column "gps_points", "longitude", :integer
     change_column "gps_points", "latitude", :integer
     change_column "gps_points", "trackid", :integer
     change_column "gps_points", "longitude", :integer
     change_column "gps_points", "latitude", :integer
     change_column "gps_points", "trackid", :integer
-    add_column "gps_points", "user_id", :integer, :limit => 20
+    add_column "gps_points", "user_id", :integer
     add_index "gps_points", ["user_id"], :name => "points_uid_idx"
 
     remove_index "friends", :name => "friends_user_id_idx"
     add_index "gps_points", ["user_id"], :name => "points_uid_idx"
 
     remove_index "friends", :name => "friends_user_id_idx"
@@ -195,34 +192,32 @@ class CleanupOsmDb < ActiveRecord::Migration
     change_column "diary_entries", "body", :text
     change_column "diary_entries", "title", :string, :default => nil
 
     change_column "diary_entries", "body", :text
     change_column "diary_entries", "title", :string, :default => nil
 
-    execute "ALTER TABLE current_ways ENGINE = MyISAM"
     change_column "current_ways", "visible", :boolean
     change_column "current_ways", "timestamp", :datetime
     change_column "current_ways", "visible", :boolean
     change_column "current_ways", "timestamp", :datetime
-    change_column "current_ways", "user_id", :bigint, :limit => 20
+    change_column "current_ways", "user_id", :bigint
 
 
-    change_column "current_way_tags", "id", :bigint, :limit => 64
+    change_column "current_way_tags", "id", :bigint
 
     add_index "current_way_segments", ["id"], :name => "current_way_segments_id_idx"
     remove_primary_key "current_way_segments"
 
     add_index "current_way_segments", ["id"], :name => "current_way_segments_id_idx"
     remove_primary_key "current_way_segments"
-    change_column "current_way_segments", "sequence_id", :bigint, :limit => 11
-    change_column "current_way_segments", "segment_id", :bigint, :limit => 11
-    change_column "current_way_segments", "id", :bigint, :limit => 64
+    change_column "current_way_segments", "sequence_id", :bigint
+    change_column "current_way_segments", "segment_id", :bigint
+    change_column "current_way_segments", "id", :bigint
 
 
-    add_index "current_segments", ["id", "visible"], :name => "current_segments_id_visible_idx"
+    add_index "current_segments", %w(id visible), :name => "current_segments_id_visible_idx"
     remove_primary_key "current_segments"
     change_column "current_segments", "timestamp", :datetime
     change_column "current_segments", "visible", :boolean
     remove_primary_key "current_segments"
     change_column "current_segments", "timestamp", :datetime
     change_column "current_segments", "visible", :boolean
-    change_column "current_segments", "user_id", :bigint, :limit => 20
-    change_column "current_segments", "node_b", :bigint, :limit => 64
-    change_column "current_segments", "node_a", :bigint, :limit => 64
-    
+    change_column "current_segments", "user_id", :bigint
+    change_column "current_segments", "node_b", :bigint
+    change_column "current_segments", "node_a", :bigint
+
     add_index "current_nodes", ["id"], :name => "current_nodes_id_idx"
     remove_primary_key "current_nodes"
     change_column "current_nodes", "timestamp", :datetime
     change_column "current_nodes", "visible", :boolean
     add_index "current_nodes", ["id"], :name => "current_nodes_id_idx"
     remove_primary_key "current_nodes"
     change_column "current_nodes", "timestamp", :datetime
     change_column "current_nodes", "visible", :boolean
-    change_column "current_nodes", "user_id", :bigint, :limit => 20
-    change_column "current_nodes", "longitude", :double
-    change_column "current_nodes", "latitude", :double
-    change_column "current_nodes", "id", :bigint, :limit => 64, :null => false, :options => "AUTO_INCREMENT"
+    change_column "current_nodes", "user_id", :bigint
+    change_column "current_nodes", "longitude", :float, :limit => 53
+    change_column "current_nodes", "latitude", :float, :limit => 53
   end
 end
   end
 end