【Mac Mini当NAS系列之二】将为知笔记私有化并迁移老账号【数据】到本地
背景
用为知笔记也有十几年了,当年web1.0网页时代,为知笔记前身是cyberarticle,中文好像叫网文快捕,主要用于保存网页,收藏了很多论坛大佬的技术文章。
后来改名为知笔记后,在web2.0移动互联时代,多平台准实时同步还是很香的,当年竞品也不多,印象笔记算一个,总体体验还是很好的。在为知笔记收费后,就买了很多年会员,一直到现在,真心希望这款产品能够做长久。
随着使用年限越来越久,笔记也越来越多,产品本身似乎有一些青黄不接,再加之不能导出到本地,总担心有一天这么多笔记无法使用。
今年倒腾了一台mac mini作为家庭服务器,在值得买上看到为知笔记可以私有化部署,于是参考官网上的文档,通过docker安装到本地服务器。
但是老数据如何迁移到私有化部署就犯起了难。网上翻阅了一些大佬的文章,摸索了下,完成了数据迁移,以下是具体过程,供大家参考。
迁移方案说明
通过wiz客户端下载所有在线数据到本地。
数据存放在用户目录下的隐藏目录.wiznote(mac主机上为user用户/.wiznote)
然后将老账户(xxx@xxx.com)目录下的数据转移到私有化部署服务器用户目录下(包括数据库数据、note数据、附件数据)
.wiznote目录下有几个重要目录:
.wiznote/xxxx@xxx.com文件夹/
这个文件夹里就是你所有的数据,包括所有文章和数据库文件。
.wiznote/xxxx@xxx.com文件夹/data/notes
笔记文件,名称是{GUID},是一个压缩打包,解压缩后里面是html文件。
.wiznote/xxxx@xxx.com文件夹/data/index.db
sqlite数据库,存放笔记索引信息。
.wiznote/xxxx@xxx.com文件夹/data/attachments
存放笔记中的附件
迁移数据库
登录数据库
通过数据库访问工具打开user用户/.wiznote/老登录账号xxx@xxx.com/data/index.db
这里我下载了一个多数据库平台通用的开源免费工具DBeaver,社区版本免费
修改字段
以下操作前先备份index.db备份。
打开sql编辑器,输入以下sql:
1.将老账号里的WIZ_DOCUMENT表中WIZ_VERSION字段改成"-1",
DOCUMENT_OWNER字段改成"私有化服务器登录账号"
2.将WIZ_DOCUMENT_ATTACHMENT表中的WIZ_VERSION字段改成"-1"
update WIZ_DOCUMENT set WIZ_VERSION = "-1" where 1=1
update WIZ_DOCUMENT set DOCUMENT_OWNER = "私有化服务器登录账号xxxx@xxxx.com" where 1=1
update WIZ_DOCUMENT_ATTACHMENT set WIZ_VERSION = "-1" where 1=1
导出老账号index.db数据再导入到新账号index.db
将"老登录账号xxx@xxx.com“目录下index.db数据导出为csv
将导出csv导入到"私有化服务器登录账号xxxx@xxxx.com“数据库index.db
迁移attachment和note
复制"老登录账号xxx@xxx.com/data/"目录下的attachments和notes目录到"私有化服务器登录账号xxxx@xxxx.com/data/“目录下
通过客户端同步到私有化服务器
使用新账号打开为知笔记,等待本地文章上传至服务器
大功告成!
参考
[为知笔记使用自建docker服务后,如何迁移原有账号数据_为知笔记数据迁移-CSDN博客](https://blog.csdn.net/u012580143/article/details/122261530)
[WizNote 为知笔记 macOS 本地文件夹分析 | ZRONG's BLOG](https://blog.zengrong.net/post/analysis-of-wiznote/)
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
天外来鸿
校验提示文案
LifeIsKillingMe
校验提示文案
LifeIsKillingMe
校验提示文案
天外来鸿
校验提示文案