2017-09-06 44 views
0

我的理解是,您希望鎖定表,以便用戶在更新某些內容時不能更改其行。例如,如果您希望更新所有過去有空實體的帖子來代替「在此寫入內容」,那麼您希望在遷移過程中將這些行鎖定。我不確定IN ACCESS EXCLUSIVE MODE是怎麼做的。 execute 'LOCK TABLE table_name IN ACCESS EXCLUSIVE MODE;'IN ACCESS EXCLUSIVE MODE在Rails遷移中做什麼?

回答

1

access exclusive模式可以防止任何其他進程從表中讀取數據,而不僅僅是寫入數據。如果您正在運行遷移,那麼像使用這種模式鎖定表格必須更安全,以防止遷移過程中的記錄損壞。