]> git.openstreetmap.org Git - rails.git/commitdiff
Avoid using live models in old migrations
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 17 Jul 2019 09:52:02 +0000 (11:52 +0200)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 17 Jul 2019 09:52:02 +0000 (11:52 +0200)
Instead, we define models in the migrations themselves. This ensures that
column names etc match the state of the database during the migration,
not the current live version of the model.

db/migrate/044_create_user_roles.rb
db/migrate/20120219161649_add_user_image_fingerprint.rb
db/migrate/20180204153242_tile_users.rb

index b62d8b89050c47c0e6d2343561ca7a9245297741..0098a0086a60d64c77c5bddcfd0149a0339199ca 100644 (file)
@@ -1,6 +1,12 @@
 require "migrate"
 
 class CreateUserRoles < ActiveRecord::Migration[4.2]
+  class User < ActiveRecord::Base
+  end
+
+  class UserRole < ActiveRecord::Base
+  end
+
   def self.up
     create_enumeration :user_role_enum, %w[administrator moderator]
 
index 1e6a19c21e62499fd62ad62aae487f35841bccc3..c32d187b99875487fbef695141ccc45b11003f6e 100644 (file)
@@ -1,4 +1,7 @@
 class AddUserImageFingerprint < ActiveRecord::Migration[4.2]
+  class User < ActiveRecord::Base
+  end
+
   def up
     add_column :users, :image_fingerprint, :string, :null => true
 
index cf20aed460e802391bd2b3956b7ebcc9a4f05f59..61dbcb4ea59fd63a69d0eaf6691a9462ad5328f7 100644 (file)
@@ -1,4 +1,7 @@
 class TileUsers < ActiveRecord::Migration[5.1]
+  class User < ActiveRecord::Base
+  end
+
   def up
     add_column :users, :home_tile, :bigint
     add_index :users, [:home_tile], :name => "users_home_idx"