Chrome personal information error prompt

下午从Chrome v84 升级到 v91 之后,弹出如上提示,点确定进去后,发现历史记录和下载记录都没了

下载记录无所谓,历史记录还是挺重要的,有时候需要翻之前打开的网址,还有之前用一些自定义的域名设置的快捷搜索,如果没有历史记录,还得重新去设置麻烦.

找到~/Library/Application Support/Google/Chrome/xxx项目文件夹下面,History文件还在,而且有几十兆,说明里面数据还在,试了下新建一个新的项目,把这些文件直接复制过去,还是会有错误提示,而且只有历史记录和下载记录坏掉,扩展书签这些还是正常在.于是想着能不能让Chrome生成一个新的History,然后从就的History中把数据导入过去?

网上查了下,History其实是一个SQLite3数据库,下载了个SQLiteStudio,试了下果然能打开.

开始研究怎么将数据导入到新的文件里.在对比测试的过程发现其实问题来源是因为新版本Chromevisits表中多了个publicly_routable字段,只要补上这个字段历史记录和下载记录就都能回来了.也就不用折腾去些导入导出的脚本了.

按照下图顺序添加一个新的字段,我用的是SQLiteStudio,如果使用其他软件,可能在具体细节上会有差异

add new column

我搜了下chromium仓库中关于publicly_routable最早是出现在去年 5 月份的,在 v84 版本之后添加的,没有去细看其中的代码,不确定Chrome有没有在升级时添加新列的代码,或者是因为我一下子版本升级太大了,或者是我升级的方式不对,Chrome自带的升级我给关了,直接去官网下载最新的版本覆盖上去的.不过既然已经能用了,也懒得去复现研究了.

这里做个记录,希望能帮到后面遇到同样问题的朋友.


XYShaoKang
3.3k 声望67 粉丝

力扣 2600 分