摘要生成中...
AI 摘要
Hunyuan-lite
原文章「Hexo Btterfly 引入 Waline 评论系统以及常见问题解决」已经被完全重构

原文章标题「Hexo Btterfly 引入 Waline 评论系统以及常见问题解决」,写于 230427,现以完全重构 260320。原封面:https://cdn.gallery.uuanqin.top/img/waline-comment.png

原文章介绍 Waline 的安装、配置、切换数据库、加速以及美化,并对一些问题提供处理措施。内容零碎,疏于维护,甚至标题有错别字。

为了更好的划分文章职责,现将文章的所有内容拆分到了更相关的博文中。推荐文章:

同时,为了不浪费这么多年沉淀的永久链接,现以「Waline 数据库迁移」为主题作为新内容(本文)。

忒修斯之船只剩甲板了。

把数据从 LeanCloud 切换到自己服务器数据库的好处是:

  1. 评论数据加载迅速
  2. 数据维护更方便

LeanCloud 迁移至 MySQL 基本步骤

下面演示 LeanCloud 迁移至 MySQL 的步骤:

  • 打开 Waline 管理面板,导出数据
  • 准备好自己的数据库
  • 依据文档要求添加环境变量
  • 删除 Vercel 中原有数据库相关的环境变量。或者把这些变量的多环境「Production」取消掉。
  • Vercel 重新部署
  • 登录 Waline,并成为第一个注册用户
  • 打开管理面板导入数据,等待数据导入成功。

如果从 LeanCloud 迁入 MySQL 出现时区转换问题,我们还需要对表格的数据进行转换。

从 LeanCloud 迁入 MySQL 数据库后时间显示错误解决方法

问题描述:利用数据导入导出工具从 LeanCloud 把数据迁入 MySQL 后,数据中与时间相关的字段均落后 8 小时。且发布新评论时插入数据库字段中的时间均超前 8 小时。

下面介绍一种能解决问题的方式。

导入评论数据后,立即执行以下 SQL 恢复正确的时间:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
UPDATE `waline-comments`.wl_Comment SET
createdAt = DATE_ADD(createdAt, INTERVAL 8 HOUR),
updatedAt = DATE_ADD(updatedAt, INTERVAL 8 HOUR);

UPDATE `waline-comments`.wl_Comment SET
insertedAt = DATE_ADD(insertedAt, INTERVAL 8 HOUR);

UPDATE `waline-comments`.wl_Counter SET
createdAt = DATE_ADD(createdAt, INTERVAL 8 HOUR),
updatedAt = DATE_ADD(updatedAt, INTERVAL 8 HOUR);

UPDATE `waline-comments`.wl_Users SET
createdAt = DATE_ADD(createdAt, INTERVAL 8 HOUR),
updatedAt = DATE_ADD(updatedAt, INTERVAL 8 HOUR);

调整 MySQL 数据库时区:修改服务器文件:/etc/my.cnf.d/mysql-server.cnf

1
2
[mysqld]
default-time_zone = '+0:00'
1
2
# 重启mysqld
systemctl restart mysqld.service

这样评论的时间就能正确展示,新评论时间也能正确设置了。

本文参考