Rob*_*b W 4 google-chrome migration downgrade chromium
在将 Chromium 从 34 升级到 35 之后,Chromium 的可用性走下坡路。所以我决定降级 Chromium。幸运的是,以前版本的 Chromium 仍然在我磁盘上的某个位置,因此降级(在 ArchLinux 中)非常简单:
sudo pacman -U /var/cache/pacman/pkg/chromium-34.0.1847.137-1-x86_64.pkg.tar.xz
Run Code Online (Sandbox Code Playgroud)
运行上一个命令后,Chromium 确实启动了,但不幸的是,我在启动时不断收到以下消息的窃听:
无法使用您的个人资料,因为它来自较新版本的 Google Chrome。某些功能可能不可用。请指定不同的配置文件目录或使用较新版本的 Chrome。
摆脱此消息的一种方法是删除~/.config/chromium/Default/Web Data,但这也导致我的搜索引擎关键字消失。
如何在不丢失任何数据的情况下降级 Chromium?
注意:我使用的是 Linux,但此问题与平台无关。随意从Windows等非Linux操作系统的角度回答。
注意:关闭 Chrome 并在使用它之前备份您的个人资料!
Web Data是SQLite数据库,所以我用sqlite3程序打开数据库。
“Web Data”数据库的当前版本是什么?(跑SELECT * from meta;)
sqlite> SELECT * FROM 元; 默认搜索提供程序 ID|34 last_compatible_version|55 版本|55 内置关键字版本|70
前面输出中强调的行是指 Chromium 中的内部数据库版本号。对于每个版本,您都可以在Chromium 的源代码 (autofill_table.cc) 中找到相关的迁移代码。具体看一下AutofillTable::MigrateToVersion方法。由于我的数据库版本是 55,我查看了“case 55”
案例 55:
*update_compatible_version = true;
返回MigrateToVersion55MergeAutofillDatesTable ();
找到这个方法后,我几乎准备写一个SQLite查询来反向迁移。
使用上一步中的知识(以及来自另一台计算机上不同表的原始模式),我构建了以下查询(将查询复制粘贴到sqlite3):
注意:此查询特定于将 Chrome 35 降级到 34!
CREATE TABLE autofill_v54 (
name VARCHAR,
value VARCHAR,
value_lower VARCHAR,
pair_id INTEGER PRIMARY KEY,
count INTEGER DEFAULT 1);
CREATE TABLE autofill_dates (
pair_id INTEGER DEFAULT 0,
date_created INTEGER DEFAULT 0);
INSERT INTO autofill_v54 (
name,
value,
value_lower,
count
) SELECT name, value, value_lower, count FROM autofill;
INSERT INTO autofill_dates (
pair_id,
date_created
) SELECT pair_id, date_created
FROM autofill_v54 a54 JOIN autofill a USING (name, value);
DROP TABLE autofill;
ALTER TABLE autofill_v54 RENAME TO autofill;
CREATE INDEX autofill_name ON autofill (name);
CREATE INDEX autofill_name_value_lower ON autofill (name, value_lower);
Run Code Online (Sandbox Code Playgroud)恢复迁移后,您可以安全地降低数据库版本:
UPDATE meta SET value='54' WHERE key='version' OR
key = 'last_compatible_version';
Run Code Online (Sandbox Code Playgroud)关闭数据库使用 .quit
完成所有这些步骤后,我启动了 Chromium,没有烦人的弹出窗口,所有配置文件数据仍然完好无损!
| 归档时间: |
|
| 查看次数: |
10912 次 |
| 最近记录: |