2017-09-06 2 views
0

テーブルをロックして、何かを更新したいときにユーザーが行を変更できないようにしたいと思います。たとえば、空の本文を持つすべての投稿を「ここに書き込む」と更新する場合は、この移行の実行中にこれらの行をロックする必要があります。私はIN ACCESS EXCLUSIVE MODEが何をしているのかは分かりません。 execute 'LOCK TABLE table_name IN ACCESS EXCLUSIVE MODE;'排他モードでINはRailsの移行で何をしますか?

答えて

1

access exclusiveモードでは、他のプロセスがテーブルへの書き込みだけでなく、テーブルからの読み込みも禁止します。移行を実行している場合は、移行中にレコードの破損を防ぐため、このようなモードのようにテーブルをロックする方が安全です。

関連する問題