]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/020_add_changesets.rb
Change bigint id column to monkeypatching-friendly syntax
[rails.git] / db / migrate / 020_add_changesets.rb
index 15122957bed767785908375d56bdab96a67668f3..772a5f20daf051aee38f3cb6e3a3c69ca96846ba 100644 (file)
@@ -4,7 +4,6 @@ class AddChangesets < ActiveRecord::Migration
   
   def self.up
     create_table "changesets", innodb_table do |t|
-      t.column "id",             :bigint,   :limit => 20, :null => false
       t.column "user_id",        :bigint,   :limit => 20, :null => false
       t.column "created_at",     :datetime,               :null => false
       t.column "open",           :boolean,                :null => false, :default => true
@@ -13,11 +12,7 @@ class AddChangesets < ActiveRecord::Migration
       t.column "min_lon",        :integer,                :null => true
       t.column "max_lon",        :integer,                :null => true
     end
-
-    add_primary_key "changesets", ["id"]
-    # FIXME add indexes?
-
-    change_column "changesets", "id", :bigint, :limit => 20, :null => false, :options => "AUTO_INCREMENT"
+    add_column :changesets, :id, :bigint_pk
 
     create_table "changeset_tags", innodb_table do |t|
       t.column "id", :bigint, :limit => 64, :null => false
@@ -33,12 +28,12 @@ class AddChangesets < ActiveRecord::Migration
     # all the changesets will have the id of the user that made them.
     # We need to generate a changeset for each user in the database
     execute "INSERT INTO changesets (id, user_id, created_at, open)" + 
-      "SELECT user_id, user_id, creation_time, 0 from users;"
+      "SELECT id, id, creation_time, 0 from users;"
 
     @@conv_user_tables.each { |tbl|
       rename_column tbl, :user_id, :changeset_id
       #foreign keys too
-      add_foreign_key tbl, :changeset_id, [:id], :users
+      add_foreign_key tbl, [:changeset_id], :changesets, [:id]
     }
   end