It’s been painful, but I’ve finally upgraded to WordPress 2.6 from 1.2.2. I’ve needed to go all through 1.2.2 to 1.5, 1.5 to 2.0, 2.0 to 2.1, 2.1 to 2.2, 2.2 to 2.3, 2.3 to 2.5 and 2.5 to 2.6. And I took a DB backup each time in case it failed!
The jump from 2.1 to 2.2 was painful due to the UTF8 issue. I tried to fix that using this helper script but it didn’t work and in the end, I found an easier fix: instead of converting my database to UTF8 and have have this wp_config.php
define(‘DB_CHARSET’, ‘utf8’);
define(‘DB_COLLATE’, ”);
I did the exact opposite: I kept my database as latin1_swedish_ci and changed wp_config.php to read
define(‘DB_CHARSET’, ”);
define(‘DB_COLLATE’, ‘latin1_swedish_ci’);
The upgrade from 2.3 to 2.5 was also painful: the public blog worked fine but I was not able to log in to the site admin interface, there was an infinite redirection loop to /wordpress/wp-admin. I was left with only two options: move restore the WordPress 2.3 DB backup and reinstall WordPress 2.3, in the hope of finding what was wrong, or move forward to WordPress 2.6 and cross my fingers hoping that it’d work. I did the latter and I’m fortunate it has worked, yay!