2011-07-26 2 views
0

최근 새 사용자가 생성 될 때 생성되는 것으로 가정되는 auth_token이라는 새 열을 사용자에게 추가했습니다.레이크 마이그레이션 : 모든 사용자의 마이그레이션에 auth_token을 입력하는 방법

마이그레이션을 통해 기존 사용자에게 auth_token을 어떻게 추가합니까?
출처 : http://railscasts.com/episodes/274-remember-me-reset-password

PS. http://guides.rubyonrails.org/migrations.html에서 찾을 수 없으므로 저를 보내지 마십시오.

+1

기존 사용자에게'auth_token'을 추가하려고합니까? –

+0

Yessir, 나는 맞다. – imjp

+0

새로운 마이그레이션 클래스를 추가하는 대신에'db/seeds.rb'를 사용해야한다고 생각한다. 해당 컨텐츠가 아닌 데이터베이스 구조를 변경해야하는 경우 이주를 사용하려고합니다. –

답변

2
class DoThisThing < ActiveRecord:: Migration 
    def self.up 
     @users = Users.all 
     @users.each do |user| 
     user.auth_token = generate_token 
     user.save 
     end 
    end 
    def self.down 
     puts "non recoverable migration" 
    end 
    def generate_token 
     123456789 
    end 
end 

원하는 표준 Ruby/Rails 코드를 마이그레이션에 넣을 수 있습니다. 그냥 stdin/out과 당신이 필요로하는 특정 라이브러리가 마이그레이션의 메모리 공간에로드되는지 여부를 염두에 두어야합니다.

+0

로그인 이름을 SHA로 만들 수 있으며, 모든 사용자에 대해 고유 한 항목을 얻으려면에서 만들었지 만 이와 같은 방식으로 작동합니다. – wesgarrison

+0

wesgarrison과 같은 방법을 설명해 주시겠습니까? 뭔가를하는 다양한 방법을 아는 것이 좋습니다. – imjp

+0

위에서 언급 한 이전 작업이 작동하지 않습니다. ( – imjp

관련 문제