1

次のことを行う移行を作成しました。

Event.update_all 'tom_cancelled = false', 'tom_cancelled IS NULL'
Event.update_all 'jerry_cancelled = false', 'jerry_cancelled IS NULL'

これらを組み合わせて乾燥させることはできますか? ブロックを使用しますか?

4

1 に答える 1

2

UPDATEActiveRecord でループを使用したい場合を除き、これはできませんが、結果セット内のすべてのレコードに対して 1 つのクエリ + SELECT の 1 になるため、意味がありません。

現在の方法では、結果セットに含まれるレコードの数に関係なく、2 つのクエリのみを実行します。

現在のコードをさらに抽象化する必要はまったくありません。特に、移行内で実行されることを考慮してください。

于 2013-02-15T20:10:07.520 に答える