現在、フィールドを持つUserオブジェクトがありますrealname
。スペースを分割して2つのフィールドに変換しようとしていfirst_name
ますlast_name
。以下は、これを行うために私が書いたスクリプトです。
User.all.each do |user|
puts "Updating #{user.realname}"
name = user.realname.split(' ')
user.first_name = name[0]
user.last_name = name[1]
user.save
puts "Saved #{user.first_name} #{user.last_name}"
sleep(1)
end
開発環境でrailsrunnerを使用してこれを実行すると、ユーザーの前半の多くが更新されません。スクリプトからの出力は完璧ですが、mongoに保存されているものを見ると、一部のユーザーはこれらの新しいフィールドを持っていません。