Observação: feche o Chrome e faça um backup do seu perfil antes de mexer nele!
Web Data
é um banco de dados SQLite, então usei o programa sqlite3 para abrir o banco de dados.
-
Qual é a versão atual do banco de dados "Dados da Web"? (execute
SELECT * from meta;
)sqlite> SELECT * FROM meta; Default Search Provider ID|34 last_compatible_version|55 version|55 Builtin Keyword Version|70
-
As linhas enfatizadas na saída anterior referem-se aos números de versão do banco de dados interno no Chromium. Para cada versão, você pode encontrar os códigos de migração relevantes em Código-fonte do Chromium (autofill_table.cc) . Especificamente, dê uma olhada no método
AutofillTable::MigrateToVersion
. Como minha versão do banco de dados é 55, examinei "case 55"case 55: *update_compatible_version = true; return MigrateToVersion55MergeAutofillDatesTable();
Depois de descobrir esse método, eu estava quase pronto para escrever uma consulta SQLite para reverter a migração.
-
Usando o conhecimento da etapa anterior (e o esquema original de uma tabela diferente em outro computador), criei a seguinte consulta (copie e cole a consulta em
sqlite3
):
Nota: Essa consulta é específica para rebaixar o Chrome 35 para 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);
-
Após reverter a migração, você pode baixar a versão do banco de dados com segurança:
UPDATE meta SET value='54' WHERE key='version' OR key = 'last_compatible_version';
-
Feche o banco de dados usando
.quit
Depois de concluir todas essas etapas, iniciei o Chromium, não houve pop-ups irritantes e todos os dados de perfil ainda estavam intactos.