上午十点改好的标题,下午被改回原样,修订记录里两条修改相隔四十分钟,作者是两个人。谁都没觉得自己覆盖了别人。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

SELECT ID, post_title, post_modified, post_author
FROM wp_posts WHERE ID = 482;
SELECT ID, post_date, post_author FROM wp_posts
WHERE post_parent = 482 AND post_type = 'revision'
ORDER BY post_date DESC LIMIT 5;

编辑锁只在编辑页开着的时候靠心跳续期,默认一百五十秒没心跳就视为空闲。另一人此时打开页面拿到的是旧内容,保存时整段 post_content 直接盖上去,没有字段级合并。这一点先确认清楚,后面就不用反复试。

「并发编辑覆盖」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。

具体做法是,让两人都先停手,从修订列表里找出各自那一条,对照确认要保留的版本;恢复时整篇还原,别在两个版本之间手工拼接,容易漏段落;长文分节写,写完一段就保存,缩短同一篇的编辑窗口。

改完照着核一遍,修订列表里能看到两条独立的修改记录,前台标题是最后商定的那一版。

作者 9823189