迁移LeanCloud的Waline评论数据到TiDB/Neon
1月份月底时收到了LeanCloud的邮件通知,标题中的停止两个字是非常的亮眼,看来在国内做公开的开放服务实属不容易,真是感叹呀。鄙人的博客从建设以来就是选用它作为站点评论数据的存储,而如今收到这则通知,除了要重新选择数据存储方式外,更多是让自己回想起过往建设博客的种种记忆。
正式停止服务时间:自本公告发布之日起满一年,即2027 年 1 月 12 日。
届时,平台将正式关闭所有面向公众的服务,包括应用访问、数据读写、API 调用、控制台使用等。
根据《个人信息保护法》及相关法律法规,服务停止后,我们将依法对平台内留存的所有用户数据进行永久性销毁或匿名化处理,数据一旦销毁将无法恢复。
不过LeanCloud还是特别的良心和靠谱,给大家提供了一年的服务停止缓冲时期,正好趁着春节假期,便想着把博客评论的数据做个迁移,好在waline的生态还是比较丰富,阅读官方文档后,发现了Waline支持TiDB和Neon两种数据库,于是乎便着手借助AI写个小工具来进行数据迁移。
起初以为这个数据迁移的功能比较简单,但是实际开发测试验证下来才发现,还是会有不少坑,除了数据导入的基础需求外,还要分析和考虑评论之间的逻辑依赖关系,特别是有引用的回复评论数据,但原来Waline导出的数据结果中,那些消息的ID都是字符串,而且数据库中已经转换为自增序列的整型数据,所以这个依赖还是有点坑的,暂时的处理方案是在评论导入成功后,再进行数据更新来修正这个评论之间的依赖关系。
最终生成的代码和可执行文件已上传至Github开源,欢迎大家可以直接自取按需使用: elkan1788/waline-data-import-tool 。这个工具的使用也会比较简单,直接按你的电脑操作系统环境,下载对应的可执行文件,参考下面的使用方法,便可以一键完成导入数据:
| |
TiDB 和 Neon 的数据导入速度都比较慢,请耐心等待。其他有关于 TiDB 和 Neon 部署方式可以直接参考官方文档:
期待大家使用后提供反馈和意见,一起优化这个工具,方便更多的同学使用。