记一次 Artalk 评论“丢失”又“找回”的经历

偶然发现我博客少了一些评论,最开始发现的时候以为是访客自己删除了,然后自己就一直怀疑,感觉也没啥敏感内容,怎么主动删除了,差点给自己整内耗了。然后花了半天时间研究了一下,才发现是我自己搞的。本文记录一下 Artalk 评论“丢失”又“找回”的过程。

排查的时候,第一时间在 Artalk 后台看是否有评论数据,发现其实评论数据是有的,但是在页面上看不到。然后发现直接在后台评论列表点击评论可以跳转到对应页面,跳转之后,发现到博客的 404 页面了。这个时候觉得就有点诡异了。看了一下地址,恍然大悟。前两天我调整了博客的目录,中文改成了英文,这样在 url 上看起来会简洁一点。但是 Artalk 的评论关联的 key 是跟这个路径相关的。

问题发现了之后:

  1. 尝试在后台改变老页面的 key,直接改成新的地址,然后发现提示:Key 已存在,修改不成功。(其实如果 Artalk 这里支持 Key 重复直接合并,就一下解决了我这个问题了)。
  2. 尝试直接修改数据库,查了一下官方文档,支持导入导出 artrans 文件。
  3. 导出当前站点 artrans 文件,编辑此文件(就是 json),将 Key 是老路径的,批量修改成新路径。
  4. 导入修改后的文件,尴尬了,在博客页面上发现评论重复(因为导入会直接叠加,这个设计倒是也合理)。
  5. 尝试在管理后台删除重复的评论(因为博客的评论数据不算太多)。
  6. 处理完重复评论,再到博客页面观察,发现评论又没了。一拍脑袋,重复的评论,后台看不到 Key,然后我把自己改过 Key 的评论删除了,又留下了老 Key 的评论。
  7. 搜索 Artalk 清空数据库的办法,看到说是可以删除站点。
  8. 删除站点,然后重新导入 artrans 文件。

至此,完全恢复了修改路径导致页面上“丢失”了的这些评论。花了小半天时间……

=====================

发布这篇文章之后,悲惨地发现,因为改了目录,导致统计的文章浏览数据没了……索性直接将文章浏览数据去掉了。感觉意义也不是很大。