How to downgrade from Chrome 35 to 34 without losing data?
Note: Close Chrome and back up your profile before messing with it!
Web Data
is a SQLite database, so I used the sqlite3 program to open the database.
-
What is the current version of the "Web Data" database? (run
SELECT * from meta;
)sqlite> SELECT * FROM meta; Default Search Provider ID|34 last_compatible_version|55 version|55 Builtin Keyword Version|70
-
The emphasized rows in the previous output refer to internal database version numbers in Chromium. For every version, you can find the relevant migration codes in Chromium's source code (autofill_table.cc). Specifically, take a look at the
AutofillTable::MigrateToVersion
method. Since my database version is 55, I looked at "case 55"case 55: *update_compatible_version = true; return MigrateToVersion55MergeAutofillDatesTable();
After finding out this method, I was almost ready to write a SQLite query to reverse the migration.
-
Using the knowledge from the previous step (and the original schema from a different table on another computer), I constructed the following query (copy-paste the query to
sqlite3
):
Note: This query is specific to downgrading Chrome 35 to 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);
-
After reverting the migration, you can safely lower the database version:
UPDATE meta SET value='54' WHERE key='version' OR key = 'last_compatible_version';
Close the database using
.quit
After completing all of these steps, I started Chromium, there were no annoying popups and all profile data was still intact!
Related videos on Youtube
Rob W
Updated on September 18, 2022Comments
-
Rob W almost 2 years
After upgrading Chromium from 34 to 35, the usability of Chromium went downhill. So I decided to downgrade Chromium. Fortunately, the previous version of Chromium was still somewhere on my disk, so downgrading (in ArchLinux) was as simple as:
sudo pacman -U /var/cache/pacman/pkg/chromium-34.0.1847.137-1-x86_64.pkg.tar.xz
After running the previous command, Chromium did start, but unfortunately, I kept getting bugged by the following message on start-up:
Your profile can not be used because it is from a newer version of Google Chrome. Some features may be unavailable. Please specify a different profile directory or use a newer version of Chrome.
One way to get rid of this message is to delete
~/.config/chromium/Default/Web Data
, but this also caused my search engine keywords to disappear.How can I downgrade Chromium without losing any data?
Note: I'm using Linux, but this problem is platform-independent. Feel free to answer from the perspective of a non-Linux operating system such as Windows.
-
slhck about 10 yearsJust out of curiosity.. Do you really want to run an outdated browser version forever now? This has quite a few security implications.
-
Rob W about 10 years@slhck No, just until the UX bugs are fixed. After upgrading, I got random visual artifacts, bad font rendering in the UI, random black rectangles, and dragging bugs (crbug.com/376761). This is even worse than the JavaScript and devtools bugs in Chromium 33 (which I skipped as well). If the bug doesn't get resolved within two release cycles, I will run my own compiled version of Chromium with Aura disabled.
-
Zoredache about 10 yearsIn the future, you might find this is a lot easier, if you make a backup of your system/data before you upgrade.
-
Synetech about 6 yearsYeah, because it's practical to backup your whole system and all your data every few hours when Google releases a new version… well, maybe if you're Google. 🙄
-
-
Perkins over 9 yearsActually, it works from newer versions of chrome too, it will recreate the version 54, which was used in chrome 34 and then re-update to the newer version; of course, it is likely to quit at some point, and may not fix everything, but it does get rid of the popups. (reverted from version 40 to 33.0.1750 to get flash drm working)