我目前在Web应用程序中使用Authlogic来处理用户身份验证,但现在决定创建一个似乎需要使用single_access_token的有限API。 我的问题是,如何将迁移应用于现有用户?
我想过使用像
这样的东西 add_column :users, :single_access_token, :string
User.reset_column_information
User.find(:all) do |c|
c.update_attribute :single_access_token, *****
end
我不知道这是否是最佳方式,或者代替*****为所有已注册用户生成令牌的内容。
由于
答案 0 :(得分:3)
我认为
User.all.each{ |x| x.reset_single_access_token! }
是你要找的东西
答案 1 :(得分:0)
如果你有很多用户,可能会更快:
User.find_each do |user|
tok = Authlogic::Random.friendly_token
str = "UPDATE users SET single_access_token = '#{tok}' WHERE id = #{user.id}"
ActiveRecord::Base.connection.update_sql(str)
end