現在、小さなプロジェクトで作業していて、データベースをより速くシードしたいと思っています。 "grand_total_points"という新しい列をユーザーのテーブルに移行しました。だから、もともと私はこのコードを使用していました。update_allの使い方は?より良い方法はありますか?
user = User.all
user.each do |x|
x.grand_total_points = x.total_points
x.save!
end
私は100万レコードを更新する必要があるため、これには時間がかかります。 Total_pointsは、提出されたすべてのユーザーポイントを計算するユーザーモデルで既に定義されています。私の説明を許してください。 update_allメソッドを使用する方法がありますが、それぞれに含まれていますか?可能
'total_points'はユーザーごとに異なります。すべてのユーザーに対して' total_points'が同じ場合にのみ使用できます。 – Thanh
@ThanhHuynhそれはタイプミスで、 'total_points'(':total_points')の前にコロンがあったはずです –
私は試しましたが、うまくいきません。このコードは、すべてのユーザの 'grand_total_points'カラムを' total_points'文字列に更新します。 – Thanh