X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/f85681c5cee9406aacc1745a3fb3bd0331d3c0e4..ef6edfff34888ae9c9564bfab84e5eade33e26c6:/db/migrate/051_add_status_to_user.rb?ds=sidebyside
diff --git a/db/migrate/051_add_status_to_user.rb b/db/migrate/051_add_status_to_user.rb
index cc8a2f238..bea9f125f 100644
--- a/db/migrate/051_add_status_to_user.rb
+++ b/db/migrate/051_add_status_to_user.rb
@@ -1,14 +1,15 @@
-require 'lib/migrate'
+class AddStatusToUser < ActiveRecord::Migration[4.2]
+ class User < ApplicationRecord
+ end
-class AddStatusToUser < ActiveRecord::Migration
def self.up
- create_enumeration :user_status_enum, ["pending","active","confirmed","suspended","deleted"]
+ create_enum :user_status_enum, %w[pending active confirmed suspended deleted]
add_column :users, :status, :user_status_enum, :null => false, :default => "pending"
- User.update_all("status = 'deleted'", { :visible => false })
- User.update_all("status = 'pending'", { :visible => true, :active => 0 })
- User.update_all("status = 'active'", { :visible => true, :active => 1 })
+ User.where(:visible => false).update_all(:status => "deleted")
+ User.where(:visible => true, :active => 0).update_all(:status => "pending")
+ User.where(:visible => true, :active => 1).update_all(:status => "active")
remove_column :users, :active
remove_column :users, :visible
@@ -18,9 +19,9 @@ class AddStatusToUser < ActiveRecord::Migration
add_column :users, :visible, :boolean, :default => true, :null => false
add_column :users, :active, :integer, :default => 0, :null => false
- User.update_all("visible = true, active = 1", { :status => "active" })
- User.update_all("visible = true, active = 0", { :status => "pending" })
- User.update_all("visible = false, active = 1", { :status => "deleted" })
+ User.where(:status => "active").update_all(:visible => true, :active => 1)
+ User.where(:status => "pending").update_all(:visible => true, :active => 0)
+ User.where(:status => "deleted").update_all(:visible => false, :active => 1)
remove_column :users, :status