下午从Chrome
v84 升级到 v91 之后,弹出如上提示,点确定进去后,发现历史记录和下载记录都没了
下载记录无所谓,历史记录还是挺重要的,有时候需要翻之前打开的网址,还有之前用一些自定义的域名设置的快捷搜索,如果没有历史记录,还得重新去设置麻烦.
找到~/Library/Application Support/Google/Chrome/xxx
项目文件夹下面,History
文件还在,而且有几十兆,说明里面数据还在,试了下新建一个新的项目,把这些文件直接复制过去,还是会有错误提示,而且只有历史记录和下载记录坏掉,扩展书签这些还是正常在.于是想着能不能让Chrome
生成一个新的History
,然后从就的History
中把数据导入过去?
网上查了下,History
其实是一个SQLite3
数据库,下载了个SQLiteStudio
,试了下果然能打开.
开始研究怎么将数据导入到新的文件里.在对比测试的过程发现其实问题来源是因为新版本Chrome
的visits
表中多了个publicly_routable
字段,只要补上这个字段历史记录和下载记录就都能回来了.也就不用折腾去些导入导出的脚本了.
按照下图顺序添加一个新的字段,我用的是SQLiteStudio
,如果使用其他软件,可能在具体细节上会有差异
我搜了下chromium
仓库中关于publicly_routable
最早是出现在去年 5 月份的,在 v84 版本之后添加的,没有去细看其中的代码,不确定Chrome
有没有在升级时添加新列的代码,或者是因为我一下子版本升级太大了,或者是我升级的方式不对,Chrome
自带的升级我给关了,直接去官网下载最新的版本覆盖上去的.不过既然已经能用了,也懒得去复现研究了.
这里做个记录,希望能帮到后面遇到同样问题的朋友.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。