ADD platform column to users table

dev_forge
Jasder 5 years ago
parent bb2f4cf438
commit 5f201fa084

@ -30,6 +30,11 @@ class User < ApplicationRecord
LOGIN_CHARS = %W(2 3 4 5 6 7 8 9 a b c f e f g h i j k l m n o p q r s t u v w x y z).freeze
# educoder: 来自Educoder平台
# trustie: 来自Trustie平台
# forge: 平台本身注册的用户
enum platform: [:forge, :educoder, :trustie]
belongs_to :laboratory, optional: true
has_one :user_extension, dependent: :destroy
@ -168,6 +173,7 @@ class User < ApplicationRecord
#
# validations
#
validates :platform, inclusion: { in: %w(forge educoder trustie) }
validates_presence_of :login, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }, case_sensitive: false
validates_uniqueness_of :login, :if => Proc.new { |user| user.login_changed? && user.login.present? }, case_sensitive: false
validates_uniqueness_of :mail, :if => Proc.new { |user| user.mail_changed? && user.mail.present? }, case_sensitive: false

@ -0,0 +1,5 @@
class AddPlatformToUsers < ActiveRecord::Migration[5.2]
def change
add_column :users, :platform, :string, default: 0
end
end
Loading…
Cancel
Save