2011-07-26 7 views
0

最近、新しいユーザーが作成されたときに生成されると思われるauth_tokenという新しい列がユーザーに追加されました。Rake Migration:すべてのユーザーの移行に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

あなたの方法とウェスカリゾンについて説明できますか?何かをするさまざまな方法を知ることは常に良いことです。 – imjp

+0

上記の移行は機能していません。 ( – imjp

関連する問題