Обновление существующих пользователей с помощью Authlogic single_access_token - PullRequest
0 голосов
/ 21 сентября 2010

В настоящее время я использую Authlogic в веб-приложении для обработки аутентификации пользователей, но теперь решил создать ограниченный API, который, по-видимому, требует использования single_access_token.У меня вопрос, как я могу применить миграцию к существующим пользователям?

Я думал, используя что-то вроде

 add_column :users, :single_access_token, :string
 User.reset_column_information
 User.find(:all) do |c|
   c.update_attribute :single_access_token, *****
 end

Я не знаю, является ли это лучшим способом, или что поставитьвместо ***** сгенерировать токен для всех уже зарегистрированных пользователей.

Спасибо

Ответы [ 2 ]

3 голосов
/ 21 сентября 2010

Я думаю

User.all.each{ |x| x.reset_single_access_token! }

- это то, что вы ищете

0 голосов
/ 01 октября 2013

Может быть быстрее, если у вас много пользователей:

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
...