下午从Chrome
v84 升级到 v91 以后,弹出如上提示,点肯定进去后,发现历史记录和下载记录都没了数据库
下载记录无所谓,历史记录仍是挺重要的,有时候须要翻以前打开的网址,还有以前用一些自定义的域名设置的快捷搜索,若是没有历史记录,还得从新去设置麻烦.测试
找到~/Library/Application Support/Google/Chrome/xxx
项目文件夹下面,History
文件还在,并且有几十兆,说明里面数据还在,试了下新建一个新的项目,把这些文件直接复制过去,仍是会有错误提示,并且只有历史记录和下载记录坏掉,扩展书签这些仍是正常在.因而想着能不能让Chrome
生成一个新的History
,而后从就的History
中把数据导入过去?spa
网上查了下,History
实际上是一个SQLite3
数据库,下载了个SQLiteStudio
,试了下果真能打开.code
开始研究怎么将数据导入到新的文件里.在对比测试的过程发现其实问题来源是由于新版本Chrome
的visits
表中多了个publicly_routable
字段,只要补上这个字段历史记录和下载记录就都能回来了.也就不用折腾去些导入导出的脚本了.orm
按照下图顺序添加一个新的字段,我用的是SQLiteStudio
,若是使用其余软件,可能在具体细节上会有差别v8
我搜了下chromium
仓库中关于publicly_routable
最先是出如今去年 5 月份的,在 v84 版本以后添加的,没有去细看其中的代码,不肯定Chrome
有没有在升级时添加新列的代码,或者是由于我一会儿版本升级太大了,或者是我升级的方式不对,Chrome
自带的升级我给关了,直接去官网下载最新的版本覆盖上去的.不过既然已经能用了,也懒得去复现研究了.域名
这里作个记录,但愿能帮到后面遇到一样问题的朋友.it