Ruby on Railsアプリケーションには100,000,000人のユーザーがいます。モデル上にデータという名前の列があります。これは新しいフィールドに保存することでバックアップしたいJSONオブジェクトを含むJSONフィールドです。ユーザーオブジェクトの縮尺を更新するにはどうすればよいですか?
users = User.all
users.each do |user|
user.data_backup = user.data
user.save
end
をして、新しい列に既存のデータを保存します。私は、1,000人のユーザーを持っていた場合
私は単純に実行することができます。しかし、これは潜在的に多くのユーザーと永遠にかかる可能性があります。 100,000,000人以上のユーザーがいる場合、モデルのあらゆる分野を更新するための適切かつ/または最も効率的な方法は何ですか?
あなたは私はあなたが最初の場所でこれをしたいと思いますなぜわからない100MMユーザーがいる場合。これにより、すぐにテーブルのストレージ要件が倍増します。バックアップデータを使ってセカンダリテーブルを作成することをお勧めします。そのため、*ユーザーレコードが取得されるたびにこれを読み込む必要はありません。変更を元に戻すか元に戻すことができるように、何らかの種類のバージョン管理システムを作成しようとしていますか? – tadman