下午從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