本文最后更新于:2024年5月7日 下午
在成功建立本地 Waline 服务后,需要考虑之前 Waline 数据迁移的问题了。
背景
- 国际版 LeanCloud 不能用了
- Vercel 不能用了
- 于是部署在 Vercel 上的 Waline 也不能用了
- 在 本地部署的 Waline 也就失去了之前的评论数据
- 需要将 LeanCloud 上的数据迁移到本地来
- 数据源为 LeanCloud ,目标为 MongoDB 数据库格式,相信其他数据库也是类似的方法
下载 LeanCloud 备份数据
- 参考 LeanCloud 数据继承
- 获取备份数据后,其中
Comment.0.jsonl
文件为评论数据库
数据恢复
恢复思路
- 一个正常的 MongoDB 数据库存储的评论为:
1 |
|
- LeanCloud 下的数据为:
1 |
|
- 对于我的目标和源数据库来说,核心差异在于
insertedAt
的值类型,只要将insertedAt
下的数据转化为 datetime.datetime 格式即可兼容 - 还有对于回复的评论,其内容中会有两个变量
pid
,rid
,这两个变量需要指向回复的变量_id
的 ID 内容,为了对其这项内容,将原始 objectId 命名 为当前 ID 即可 - 之后参考 Python 链接/操作 MongoDB 数据库 操作将数据添加进 Waline 对应的数据库集合即可
参考代码
1 |
|
修复效果
- 在博客文章的新 Waline 中可以看到之前以 LeanCloud 为后端时用户在 Waline 做出的评论
MongoDB 数据迁移
补充一份 MongoDB 数据迁移的代码
1 |
|
参考资料
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
Fluid -26- 迁移 Waline LeanCloud 数据到本地
https://www.zywvvd.com/notes/hexo/theme/fluid/fluid-restore-walilne-comments/restore-walilne-comments/