惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
罗磊的独立博客
量子位
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
M
MIT News - Artificial intelligence
月光博客
月光博客
IT之家
IT之家
D
DataBreaches.Net
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
D
Docker
The GitHub Blog
The GitHub Blog
B
Blog
V
Visual Studio Blog
博客园 - Franky
N
Netflix TechBlog - Medium
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
博客园 - 聂微东
U
Unit 42

热爱生活与梦想

25年江浙地区暑假自驾游之感慨 使用阿里云灵码继续完成构建 SSL 证书管理器 亲手给儿子做的棒棒糖摩天轮六一礼物 使用腾讯云 CodeBuddy 构建 SSL 证书管理器 修复代码块默认高度相关缺陷 HugoNexT4.7.2 新功能和升级提示 改善代码块折叠和选中功能 支持Github风格的警告样式 新增音乐短代码功能支持 给文章添加摘要和过期提示功能 回顾24年的过去总结 修复Mathjax行内显示公式的问题 给Hugo文章增加阅读更多跳转的锚点定位功能 Win10隐匿的VPN设置和L2TP连接常见错误 Go语言中“糟糕”的日期时间格式化设计 DaoCloud道客提供的免费Docker镜像代理服务 感谢万能淘宝让自己吃到喜欢的美食 WSL运行时遇到未知异常错误无法使用 隐藏的换行符导致Base64加密解密失败 MySQL自带客户端直接免密登录操作 Linux系统中删除目录软链接的注意项 Java程序调用外网API时CA问题 如何不关机重启WSL2恢复虚拟服务 在Windows上安装Podman容器平台做虚拟化 记一次无法弹出移动硬盘的记录 为友情链接添加自动检测脚本 重新激活Github的2FA认证 Linux中使用tar压缩命令排除文件 继续小米手环的健康生活之旅 一次意外的“坠机”引发了我对手机保护壳的深思
迁移LeanCloud的Waline评论数据到TiDB/Neon
凡梦星尘 · 2026-02-19 · via 热爱生活与梦想

1月份月底时收到了LeanCloud的邮件通知,标题中的停止两个字是非常的亮眼,看来在国内做公开的开放服务实属不容易,真是感叹呀。鄙人的博客从建设以来就是选用它作为站点评论数据的存储,而如今收到这则通知,除了要重新选择数据存储方式外,更多是让自己回想起过往建设博客的种种记忆。

关于 LeanCloud 停止对外提供服务的通知

正式停止服务时间:自本公告发布之日起满一年,即2027 年 1 月 12 日。

届时,平台将正式关闭所有面向公众的服务,包括应用访问、数据读写、API 调用、控制台使用等。

根据《个人信息保护法》及相关法律法规,服务停止后,我们将依法对平台内留存的所有用户数据进行永久性销毁或匿名化处理,数据一旦销毁将无法恢复。

不过LeanCloud还是特别的良心和靠谱,给大家提供了一年的服务停止缓冲时期,正好趁着春节假期,便想着把博客评论的数据做个迁移,好在waline的生态还是比较丰富,阅读官方文档后,发现了Waline支持TiDBNeon两种数据库,于是乎便着手借助AI写个小工具来进行数据迁移。


Waline 的控制后台也提供导入导出功能,只是这里的导入功能会把评论的时间都修改为当前时间,不太符个人合预期的需求。

起初以为这个数据迁移的功能比较简单,但是实际开发测试验证下来才发现,还是会有不少坑,除了数据导入的基础需求外,还要分析和考虑评论之间的逻辑依赖关系,特别是有引用的回复评论数据,但原来从 Waline 导出的数据结果中,那些消息的ID都是字符串,而且数据库中已经转换为自增序列的整型数据,所以这个依赖还是有点坑的,暂时的处理方案是在评论导入成功后,再进行数据更新来修正这个评论之间的依赖关系。

通过不断的调试验证,最终实现了一个完整的数据迁移工具,只需简单的配置便可一键完成迁移,具体流程如下:

graph LR A[开始] --> B[从 Waline 导出数据文件] B --> C[获取 TiDB 或 Neon 数据库连接信息] C --> D[调用 waline-data-import-tool 工具] D --> E[登录 Waline 控制台或博客页面验证数据] E --> F[结束]

  • 获取 TiDB 数据库连接信息

点击 TiDB 集群页面右上角的 Connect 按钮,获取数据库连接信息

02-19-migrate-waline-tidb-connect.png

  • 获取 Neon 数据库连接信息

点击 Vercel 页面左侧的 Storage 菜单选项,在默认打开页面中获取数据库连接信息

02-19-migrate-waline-neon-connect.png

最终生成的代码和可执行文件已上传至Github开源,欢迎大家可以直接自取按需使用: elkan1788/waline-data-import-tool 。这个工具的使用也会比较简单,直接按你的电脑操作系统环境,下载对应的可执行文件,参考下面的使用方法,便可以一键完成导入数据:

1
./waline-data-import-tool-xxx -c waline-tidb.ini -f /root/elkan/waline.json

估计是和网络环境和开放资源有关系, TiDBNeon 的数据导入速度都比较慢,请耐心等待。

其他有关于 TiDB 和 Neon 部署方式可以直接参考官方文档:

期待大家使用后提供反馈和意见,一起优化这个工具,方便更多的同学使用。