2017-09-06 48 views
0

我的理解是,您希望锁定表,以便用户在更新某些内容时不能更改其行。例如,如果您希望更新所有过去有空实体的帖子来代替“在此写入内容”,那么您希望在迁移过程中将这些行锁定。我不确定IN ACCESS EXCLUSIVE MODE是怎么做的。 execute 'LOCK TABLE table_name IN ACCESS EXCLUSIVE MODE;'IN ACCESS EXCLUSIVE MODE在Rails迁移中做什么?

回答

1

access exclusive模式可以防止任何其他进程从表中读取数据,而不仅仅是写入数据。如果您正在运行迁移,那么像使用这种模式锁定表格必须更安全,以防止迁移过程中的记录损坏。