代码之家  ›  专栏  ›  技术社区  ›  mangocaptain

在Rails迁移中,ACCESS EXCLUSIVE模式下做什么?

  •  0
  • mangocaptain  · 技术社区  · 8 年前

    我的理解是,您希望锁定表,这样当您想要更新某些内容时,用户就不能对其行进行更改。例如,如果您希望更新所有以前正文为空的帖子,改为说“在这里写点什么”,那么您希望在迁移运行时锁定这些行。我不确定到底是什么 IN ACCESS EXCLUSIVE MODE execute 'LOCK TABLE table_name IN ACCESS EXCLUSIVE MODE;'

    1 回复  |  直到 8 年前
        1
  •  1
  •   Roman Kiselenko    8 年前

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