]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/044_create_user_roles.rb
Merge remote-tracking branch 'upstream/pull/1926'
[rails.git] / db / migrate / 044_create_user_roles.rb
index 10ec3ee7bf86ab236e8442be3103ffbeda72d084..0098a0086a60d64c77c5bddcfd0149a0339199ca 100644 (file)
@@ -1,31 +1,40 @@
-require 'lib/migrate'
+require "migrate"
+
+class CreateUserRoles < ActiveRecord::Migration[4.2]
+  class User < ActiveRecord::Base
+  end
+
+  class UserRole < ActiveRecord::Base
+  end
 
 
-class CreateUserRoles < ActiveRecord::Migration
   def self.up
   def self.up
-    create_enumeration :user_role_enum, ["administrator", "moderator"]
+    create_enumeration :user_role_enum, %w[administrator moderator]
 
     create_table :user_roles do |t|
       t.column :user_id, :bigint, :null => false
 
     create_table :user_roles do |t|
       t.column :user_id, :bigint, :null => false
+      t.column :role, :user_role_enum, :null => false
 
 
-      t.timestamps
+      t.timestamps :null => true
     end
     end
-    add_column :user_roles, :role, :user_role_enum, :null => false
 
 
-    User.all(:conditions => ['administrator = ?', true]).each do |user|
+    User.where(:administrator => true).each do |user|
       UserRole.create(:user_id => user.id, :role => "administrator")
     end
       UserRole.create(:user_id => user.id, :role => "administrator")
     end
+
     remove_column :users, :administrator
 
     remove_column :users, :administrator
 
-    add_foreign_key :user_roles, [:user_id], :users, [:id]
+    add_foreign_key :user_roles, :users, :name => "user_roles_user_id_fkey"
   end
 
   def self.down
     add_column :users, :administrator, :boolean, :default => false, :null => false
   end
 
   def self.down
     add_column :users, :administrator, :boolean, :default => false, :null => false
-    UserRole.all(:conditions => ['role = ?', "administrator"]).each do |role|
+
+    UserRole.where(:role => "administrator").each do |role|
       user = User.find(role.user_id)
       user.administrator = true
       user.save!
     end
       user = User.find(role.user_id)
       user.administrator = true
       user.save!
     end
+
     drop_table :user_roles
     drop_enumeration :user_role_enum
   end
     drop_table :user_roles
     drop_enumeration :user_role_enum
   end