IN ACCESS EXCLUSIVE MODE在Rails迁移中做了什么?

时间:2017-09-06 04:37:40

标签: ruby-on-rails migration

我的理解是,您希望锁定表,以便用户在您想要更新某些内容时无法对其行进行更改。例如,如果您想要更新曾经拥有空主体的所有帖子,而不是说“在这里写一些东西”,那么您希望在此迁移运行时锁定这些行。我不确定IN ACCESS EXCLUSIVE MODE做了什么。 execute 'LOCK TABLE table_name IN ACCESS EXCLUSIVE MODE;'

1 个答案:

答案 0 :(得分:1)

access exclusive模式阻止任何其他进程甚至从表中读取,而不仅仅是写入它。如果你正在运行迁移,那么像这样的模式锁定表必须更安全,以防止在迁移运行时记录损坏。