博客换了主题,原来用的说说插件是时光机times,说说数据是以评论的形式存储的。新的主题集成了说说模块,说说数据存储在一个特殊的文章分类里。

为了把原来的数据迁移过来,只能去翻数据库。

在chatgpt的帮助下,搞懂了数据库不同表和不同字段的含义。

  1. coid: 评论的唯一标识符 (Comment ID)。
  2. cid: 博客文章的唯一标识符 (Content ID),表示这条评论属于哪篇博客文章。
  3. created: 评论创建的时间戳,表示评论的时间。
  4. author: 评论作者的名字。
  5. authorld: 评论作者的用户ID或标识符。
  6. ownerld: 博客文章的作者用户ID或标识符,表示博客文章的所有者。
  7. mail: 评论作者的邮箱地址。
  8. url: 评论作者的网站或博客地址。
  9. ip: 评论作者的IP地址,表示评论时的客户端IP。
  10. agent: 发表评论的用户代理,即用户使用的浏览器或其他客户端的标识信息。
  11. text: 评论的文本内容。
  12. type: 评论的类型,可能是区分不同类型的评论,例如普通评论、回复等。
  13. status: 评论的状态,表示评论的当前状态,例如已发布、待审核等。
  14. parent: 父评论的ID,表示这条评论是某个评论的回复。
  15. qqk: 可能是与评论相关的其他信息,具体含义需要查阅系统或数据库设计的文档。

分析发现原来的说说数据在typecho_comments表里,cid统一为82。

先把这部分数据写入typecho_contents。

-- 创建新的内容记录
INSERT INTO typecho_contents (title, created, text, type) 
SELECT 'Comment for Post 82', created, text, 'post' 
FROM typecho_comments 
WHERE cid = 82;

-- 更新评论的 cid 和 type
UPDATE typecho_comments 
SET cid = (SELECT MAX(cid) FROM typecho_contents), 
    type = 'post'
WHERE cid = 82;

把写入的说说标题删除,这样主页显示的时候不会杂乱。

UPDATE typecho_contents
SET title = NULL
WHERE title = 'Comment for Post 82' AND type = 'post';

最后在typecho_relationships表中把新写入的cid142-181这部分数据关联到mid22说说分类。

完成,测试说说页面和主页数据加载正常。
image-20240106232758322.png

ps:涉及数据库操作,切记备份!

添加新评论